Galvenā atšķirība - ArrayList vs LinkedList
Kolekcijas ir noderīgas datu glabāšanai. Normālā masīvā masīva izmērs ir noteikts. Dažreiz ir nepieciešams izveidot masīvus, kas pēc vajadzības var pieaugt. Programmēšanas valodās, piemēram, Java, ir kolekcijas. Tas ir ietvars ar klašu un saskarņu kopumu. Tas kalpo kā konteiners elementu grupai. Kolekcijas ļauj uzglabāt, atjaunināt, 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 saskarnes saskarne. ArrayList un LinkedList ir divas klases kolekciju sistēmā. Viņi ievieš kolekcijas saskarni un saraksta saskarni. Šajā rakstā ir aplūkota atšķirība starp ArrayList un LinkedList. ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas iekšēji izmanto dinamisko masīvu datu elementu glabāšanai. LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque un Queue, kas iekšēji izmanto divkārši saistītu sarakstu datu elementu glabāšanai. Tā 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. Līdzības starp ArrayList un LinkedList
5. Blakus salīdzinājums - ArrayList vs LinkedList tabulas formā
6. Kopsavilkums
Kas ir ArrayList?
ArrayList klase tiek izmantota, lai izveidotu dinamiskus masīvus. 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. Jauda palielinās automātiski, tāpēc programmētājs var pievienot elementus sarakstam. ArrayList klase paplašina klasi AbstractList, kas ievieš saraksta saskarni. Tāpēc ArrayList var izmantot saraksta saskarnes metodes. Lai piekļūtu elementiem, tiek izmantota metode get (). Lai pievienotu elementus sarakstam, var izmantot metodi add (). Lai noņemtu elementu no saraksta, tiek izmantota metode Remove (). 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, burts 4. indeksā, kas ir “E”, tiek noņemts no saraksta. Veicot iterāciju sarakstā, izmantojot for ciklu, tiks drukā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. Jauda automātiski palielinās, tāpēc programmētājs var pievienot sarakstam elementus. Datu glabāšanai iekšēji tiek izmantots divreiz saistīts saraksts. Divreiz 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ā.
Klase LinkedList paplašina klasi AbstractSequentialList un ievieš saraksta saskarni. Tāpēc LinkedList var izmantot saraksta saskarnes metodes. Get () metodi var izmantot, lai piekļūtu saraksta elementiem. Lai pievienotu elementus sarakstam, var izmantot metodi add (). Lai noņemtu elementu no saraksta, tiek izmantota metode Remove (). Skatiet zemāk esošo programmu.
02. attēls: 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, burts 4. indeksā, kas ir “E”, tiek noņemts no saraksta. Veicot atkārtojumu, izmantojot for loop, tiks drukāti burti A, B, C un D.
Kādas ir ArrayList un LinkedList līdzības?
- Gan ArrayList, gan LinkedList ievieš saraksta saskarni.
- Gan ArrayList, gan LinkedList var saturēt elementu dublikātus.
- Gan ArrayList, gan LinkedList uztur ievietošanas kārtību.
Kāda ir atšķirība starp ArrayList un LinkedList?
Atšķirīgs raksts vidū pirms tabulas
ArrayList vs LinkedList |
|
ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas iekšēji izmanto dinamisko masīvu datu elementu glabāšanai. | LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque, Queue, kas iekšēji izmanto divkārši saistītu sarakstu datu elementu glabāšanai. |
Piekļuve elementiem | |
Piekļuve ArrayList elementiem ir ātrāka nekā LinkedList. | Piekļuve LinkedList elementiem notiek lēnāk nekā ArrayList. |
Manipulēšana ar elementiem | |
Manipulēšana ar ArrayList elementiem notiek lēnāk nekā ar LinkedList. | Manipulēšana ar LinkedList elementiem ir ātrāka nekā ar ArrayList. |
Uzvedība | |
ArrayList darbojas kā saraksts. | LinkedList darbojas kā saraksts un rinda. |
Kopsavilkums - ArrayList vs LinkedList
Kolekcijas sistēma ļ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 apspriesta atšķirība starp ArrayList un LinkedList. ArrayList ir klase, kas paplašina AbstractList un ievieš saraksta saskarni, kas iekšēji izmanto dinamisko masīvu datu elementu glabāšanai. LinkedList ir klase, kas paplašina AbstractSequentialList un ievieš saskarnes List, Deque, Queue, kas iekšēji izmanto divkārši saistītu sarakstu datu elementu glabāšanai. Tā ir atšķirība starp ArrayList un LinkedList.