Atšķirība starp ArrayList un LinkedList

Galvenā atšķirība - ArrayList vs LinkedList
 

Kolekcijas ir noderīgas datu glabāšanai. Parastā masīvā masīva lielums ir fiksēts. Dažreiz tiek prasīts izveidot masīvus, kas pēc vajadzības var augt. Programmēšanas valodām, piemēram, Java, ir kolekcijas. Tas ir ietvars ar klašu un saskarņu komplektu. Tas kalpo kā konteiners elementu grupai. Kolekcijas ļauj uzglabāt, atjaunināt un izgūt elementu kopu. Tas palīdz strādāt ar tādām datu struktūrām kā saraksti, kopas, koki un kartes. Saraksts ir kolekcijas ietvara interfeiss. ArrayList un LinkedList ir divas klases kolekciju ietvarā. Viņi ievieš kolekcijas saskarni un saraksta saskarni. Šajā rakstā ir apskatīta atšķirība starp ArrayList un LinkedList. ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas datu elementu glabāšanai iekšēji izmanto dinamisko masīvu. LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque un Queue, kuras datu elementu glabāšanai iekšēji izmanto divkārši saistītu sarakstu. Tas ir galvenā atšķirība starp ArrayList un LinkedList.

SATURS

1. Pārskats un galvenās atšķirības
2. Kas ir ArrayList?
3. Kas ir LinkedList
4. ArrayList un LinkedList līdzības
5. Salīdzinājums blakus - ArrayList vs LinkedList tabulas formā
6. Kopsavilkums

Kas ir ArrayList??

ArrayList klase tiek izmantota dinamisko masīvu izveidošanai. Atšķirībā no parastā masīva, dinamiskā masīva lielums nav noteikts. Objektam, kas izveidots, izmantojot ArrayList klasi, ir atļauts sarakstā saglabāt elementu kopu. Ietilpība palielinās automātiski, tāpēc programmētājs var pievienot elementus sarakstam. ArrayList klase paplašina AbstractList klasi, kas ievieš List interfeisu. Tāpēc saraksta saskarnes metodes var izmantot ArrayList. Lai piekļūtu elementiem, tiek izmantota metode get (). Elementu pievienošanai sarakstam var izmantot pievienošanas () metodi. Elementu noņemšanai no saraksta izmanto metodi noņemt (). Skatiet zemāk esošo programmu.

01. attēls. ArrayList piemērs

Saskaņā ar iepriekšminēto programmu tiek izveidots ArrayList objekts. Izmantojot pievienošanas metodi, elementus var pievienot dinamiski. Elementi “A”, “B”, “C”, “D” un “E” tiek pievienoti, izmantojot pievienošanas metodi. Elementa noņemšanai no saraksta tiek izmantota noņemšanas metode. Nododot 4. noņemšanas metodei, 4. sarakstā esošais burts “E” tiek svītrots no saraksta. Atkārtojot sarakstu, izmantojot for cilpu, tiks izdrukāti burti A, B, C un D.

Kas ir LinkedList?

Līdzīgi kā ArrayList, LinkedList tiek izmantots, lai dinamiski saglabātu datu elementus. Objektam, kas izveidots, izmantojot LinkedList klasi, ir atļauts sarakstā saglabāt elementu kopu. Ietilpība palielinās automātiski, tāpēc programmētājs var pievienot elementus sarakstam. Tas datu glabāšanai iekšēji izmanto divkārši saistītu sarakstu. Divkārt saistītā sarakstā dati tiek glabāti kā mezgli. Katrā mezglā ir divas saites. Pirmā saite norāda uz iepriekšējo mezglu. Nākamā saite norāda uz nākamo mezglu secībā.

LinkedList klase paplašina AbstractSequentialList klasi un ievieš saraksta saskarni. Tāpēc LinkedList var izmantot saraksta saskarnes metodes. Get () metodi var izmantot, lai piekļūtu saraksta elementiem. Elementu pievienošanai sarakstam var izmantot pievienošanas () metodi. Elementu noņemšanai no saraksta izmanto metodi noņemt (). Skatiet zemāk esošo programmu.

Attēls 02: piemērs ar LinkedList

Saskaņā ar iepriekšminēto programmu tiek izveidots LinkedList objekts. Izmantojot pievienošanas metodi, elementus var pievienot dinamiski. Elementi “A”, “B”, “C”, “D” un “E” tiek pievienoti, izmantojot pievienošanas metodi. Elementa noņemšanai no saraksta tiek izmantota noņemšanas metode. Nododot 4. noņemšanas metodei, 4. sarakstā esošais burts “E” tiek noņemts no saraksta. Atkārtojot, izmantojot cilpu for, tiks izdrukāti burti A, B, C un D.

Kādas ir līdzības starp ArrayList un LinkedList?

  • Gan ArrayList, gan LinkedList ieviest saraksta saskarni.
  • Gan ArrayList, gan LinkedList var saturēt dublētus elementus.
  • Gan ArrayList, gan LinkedList uztur ievietošanas secību.

Kāda ir atšķirība starp ArrayList un LinkedList?

ArrayList vs LinkedList

ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas iekšēji izmanto dinamisko masīvu, lai saglabātu datu elementus. LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque, Queue, kas datu elementu glabāšanai iekšēji izmanto divkārši saistītu sarakstu.
 Piekļuve elementiem
ArrayList elementiem var piekļūt ātrāk nekā LinkedList. Piekļuve LinkedList elementiem ir lēnāka nekā ArrayList.
Manipulējoši elementi
ArrayList elementu manipulēšana notiek lēnāk nekā LinkedList. LinkedList elementu manipulēšana ir ātrāka nekā ArrayList.
 Uzvedība
ArrayList darbojas kā saraksts. LinkedList uzstājas kā saraksts un rinda.

Kopsavilkums - ArrayList vs LinkedList

Kolekcijas ietvars ļauj strādāt ar tādām datu struktūrām kā saraksti, koki, kartes un kopas. Saraksts ir kolekcijas ietvara interfeiss. Šajā rakstā tika apskatīta atšķirība starp ArrayList un LinkedList. ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas datu elementu glabāšanai iekšēji izmanto dinamisko masīvu. LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque, Queue, kas datu elementu glabāšanai iekšēji izmanto divkārši saistītu sarakstu. Tā ir atšķirība starp ArrayList un LinkedList.

Atsauce:

1.Ievads saistītajā sarakstā Datu struktūras apmācība | Studiju gaisma. Pieejams šeit
2. “LinkedList Java - javatpoint.”, The Point, pieejams šeit
3. “Java ArrayList klase - javatpoint.” Punkts, pieejams šeit