Pagkakaiba sa pagitan ng ArrayList at LinkedList

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pagkakaiba sa pagitan ng ArrayList at LinkedList

Video: Pagkakaiba sa pagitan ng ArrayList at LinkedList

Video: Pagkakaiba sa pagitan ng ArrayList at LinkedList
Video: Where's the Gulf crisis headed? | Inside Story 2024, Nobyembre
Anonim

Mahalagang Pagkakaiba – ArrayList kumpara sa LinkedList

Ang mga koleksyon ay kapaki-pakinabang para sa pag-iimbak ng data. Sa isang normal na array, ang laki ng array ay naayos. Minsan kinakailangan na lumikha ng mga array na maaaring lumago kung kinakailangan. Ang mga programming language tulad ng Java ay may mga koleksyon. Ito ay isang balangkas na may isang hanay ng mga klase at interface. Ito ay nagsisilbing lalagyan para sa isang pangkat ng mga elemento. Nagbibigay-daan ang mga koleksyon na mag-imbak, mag-update, kumuha ng hanay ng mga elemento. Nakakatulong ito upang gumana sa mga istruktura ng data tulad ng mga listahan, set, puno at mapa. Ang listahan ay isang interface ng balangkas ng Koleksyon. Ang ArrayList at LinkedList ay dalawang klase sa framework ng mga koleksyon. Ipinapatupad nila ang interface ng koleksyon at interface ng Listahan. Tinatalakay ng artikulong ito ang pagkakaiba sa pagitan ng ArrayList at LinkedList. Ang ArrayList ay isang klase na nagpapalawak sa AbstractList at nagpapatupad ng interface ng Listahan, na panloob na gumagamit ng isang dynamic na array upang mag-imbak ng mga elemento ng data. Ang LinkedList ay isang klase na nagpapalawak sa AbstractSequentialList at nagpapatupad ng mga interface ng List, Deque, at Queue, na panloob na gumagamit ng dobleng naka-link na listahan upang mag-imbak ng mga elemento ng data. Iyon ang pangunahing pagkakaiba sa pagitan ng ArrayList at LinkedList.

Ano ang ArrayList?

Ang klase ng ArrayList ay ginagamit upang lumikha ng mga dynamic na array. Hindi tulad ng isang normal na array, ang laki ng isang dynamic na array ay hindi naayos. Ang isang bagay na nilikha gamit ang klase ng ArrayList ay pinapayagan na mag-imbak ng isang hanay ng mga elemento sa listahan. Ang kapasidad ay awtomatikong tumataas, kaya ang programmer ay maaaring magdagdag ng mga elemento sa listahan. Pinapalawak ng klase ng ArrayList ang klase ng AbstractList na nagpapatupad ng interface ng Listahan. Samakatuwid, ang mga pamamaraan ng interface ng Listahan ay maaaring gamitin ng ArrayList. Para ma-access ang mga elemento, ginagamit ang get() method. Ang paraan ng add() ay maaaring gamitin upang magdagdag ng mga elemento sa listahan. Ang paraan ng remove() ay ginagamit upang alisin ang isang elemento sa listahan. Sumangguni sa programa sa ibaba.

Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pagkakaiba sa pagitan ng ArrayList at LinkedList

Figure 01: Halimbawa ng ArrayList

Ayon sa programa sa itaas, isang object ng ArrayList ang nilikha. Gamit ang paraan ng pagdaragdag, ang mga elemento ay maaaring maidagdag nang pabago-bago. Ang mga elementong "A", "B", "C", "D" at "E" ay idinaragdag gamit ang paraan ng pagdaragdag. Ang paraan ng pag-alis ay ginagamit upang alisin ang isang elemento mula sa listahan. Kapag nagpasa ng 4 sa paraan ng pag-alis, ang titik sa ika-4 na index na "E" ay tinanggal mula sa listahan. Kapag umuulit sa listahan gamit ang for loop, magpi-print ang mga letrang A, B, C at D.

Ano ang LinkedList?

Katulad ng ArrayList, ang LinkedList ay ginagamit upang mag-imbak ng mga elemento ng data nang dynamic. Ang isang bagay na nilikha gamit ang LinkList na klase ay pinapayagang mag-imbak ng isang hanay ng mga elemento sa listahan. Ang kapasidad ay awtomatikong tumataas, kaya ang programmer ay maaaring magdagdag ng mga elemento sa listahan. Ito ay panloob na gumagamit ng dobleng naka-link na listahan upang mag-imbak ng data. Sa isang dobleng naka-link na listahan, ang data ay naka-imbak bilang mga node. Ang bawat node ay naglalaman ng dalawang link. Ang unang link ay tumuturo sa nakaraang node. Ang susunod na link ay tumuturo sa susunod na node sa sequence.

Pinapalawak ng klase ng LinkedList ang klase ng AbstractSequentialList at ipinapatupad ang interface ng Listahan. Samakatuwid, ang mga pamamaraan ng List interface ay maaaring gamitin ng LinkedList. Ang get() method ay maaaring gamitin para ma-access ang mga elemento ng listahan. Ang paraan ng add() ay maaaring gamitin upang magdagdag ng mga elemento sa listahan. Ang paraan ng remove() ay ginagamit upang alisin ang isang elemento sa listahan. Sumangguni sa programa sa ibaba.

Pangunahing Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pangunahing Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pangunahing Pagkakaiba sa pagitan ng ArrayList at LinkedList
Pangunahing Pagkakaiba sa pagitan ng ArrayList at LinkedList

Figure 02: Halimbawa sa LinkedList

Ayon sa programa sa itaas, isang object ng LinkedList ang nilikha. Gamit ang paraan ng pagdaragdag, ang mga elemento ay maaaring maidagdag nang pabago-bago. Ang mga elementong "A", "B", "C", "D" at "E" ay idinaragdag gamit ang paraan ng pagdaragdag. Ang paraan ng pag-alis ay ginagamit upang alisin ang isang elemento mula sa listahan. Kapag nagpasa ng 4 sa paraan ng pag-alis, ang titik sa ika-4 na index na "E" ay nag-aalis mula sa listahan. Kapag umuulit gamit ang for loop, magpi-print ang mga letrang A, B, C at D.

Ano ang Pagkakatulad sa pagitan ng ArrayList at LinkedList?

  • Ang ArrayList at LinkedList ay nagpapatupad ng interface ng Listahan.
  • Ang parehong ArrayList at LinkedList ay maaaring maglaman ng mga duplicate na elemento.
  • Parehong pinapanatili ng ArrayList at LinkedList ang insertion order.

Ano ang Pagkakaiba sa pagitan ng ArrayList at LinkedList?

ArrayList vs LinkedList

Ang ArrayList ay isang klase na nagpapalawak sa AbstractList at nagpapatupad ng interface ng Listahan na panloob na gumagamit ng dynamic na array upang mag-imbak ng mga elemento ng data. Ang LinkedList ay isang klase na nagpapalawak sa AbstractSequentialList at nagpapatupad ng mga interface ng List, Deque, Queue, na panloob na gumagamit ng dobleng naka-link na listahan upang mag-imbak ng mga elemento ng data.
Pag-access sa Mga Elemento
Ang pag-access sa mga elemento ng ArrayList ay mas mabilis kaysa sa isang LinkedList. Ang pag-access sa mga elemento ng LinkedList ay mas mabagal kaysa sa isang ArrayList.
Manipulating Elements
Mas mabagal ang pagmamanipula ng mga elemento ng ArrayList kaysa sa isang LinkedList. Ang pagmamanipula ng mga elemento ng LinkedList ay mas mabilis kaysa sa isang ArrayList.
Pag-uugali
ArrayList gumaganap bilang isang Listahan. Ang LinkedList ay gumaganap bilang isang Listahan at isang Queue.

Buod – ArrayList vs LinkedList

Ang balangkas ng koleksyon ay nagbibigay-daan sa pagtatrabaho sa mga istruktura ng data gaya ng mga listahan, puno, mapa at set. Ang listahan ay isang interface ng balangkas ng koleksyon. Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng ArrayList at LinkedList. Ang ArrayList ay isang klase na nagpapalawak sa AbstractList at nagpapatupad ng interface ng Listahan na panloob na gumagamit ng isang dynamic na array upang mag-imbak ng mga elemento ng data. Ang LinkedList ay isang klase na nagpapalawak ng AbstractSequentialList at nagpapatupad ng mga interface ng List, Deque, Queue, na panloob na gumagamit ng dobleng naka-link na listahan upang mag-imbak ng mga elemento ng data. Iyan ang pagkakaiba ng ArrayList at LinkedList.

Inirerekumendang: