Atšķirība starp sarakstu Java un ArrayList

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 14 Maijs 2024
Anonim
Stream Api vs Foreach vs Iterator [Java Performance Test]
Video: Stream Api vs Foreach vs Iterator [Java Performance Test]

Saturs


List un ArrayList ir kolekcijas ietvara dalībnieki. Saraksts ir elementu kopums secībā, kur katrs elements ir objekts un elementiem piekļūst tur esošā pozīcija (indekss). ArrayList izveido dinamisku objektu masīvu, kas vajadzības gadījumā palielina vai samazina izmēru. Galvenā atšķirība starp List un ArrayList ir tā Saraksts ir interfeiss un ArrayList ir klase. Pētīsim atšķirību starp sarakstu un ArrayList, izmantojot zemāk parādīto salīdzināšanas tabulu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsSarakstsArrayList
PamataSaraksts ir interfeissArrayList ir standarta kolekcijas klase.
Sintakseinterfeisa sarakstsklases ArrayList
Pagarināt / ieviestSaraksta saskarne paplašina kolekciju sistēmu.ArrayList paplašina AbstractList un ievieš saraksta saskarni.
Vārdu telpaSystem.Collections.Generic.Sistēma.Kolekcijas.
DarbsTo izmanto, lai izveidotu elementu (objektu) sarakstu, kas saistīti ar to indeksa numuriem.ArrayList tiek izmantots, lai izveidotu dinamisku masīvu, kas satur objektus.


Saraksta definīcija

Saraksts ir saskarne kas paplašina Kolekcija ietvars. Saraksta saskarne apraksta secīgi izkārtotu elementu kolekciju. Saraksta saskarni īsteno šādas standarta kolekciju klases, piemēram ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Saraksta saskarnei ir elementi, kas ir saistīti ar to indeksa numuriem. Jūs varat piekļūt saraksta elementam pēc tā pozīcijas (indeksa) sarakstā. Saraksts, kas izveidots, izmantojot saraksta saskarni, sākas ar nulles indeksu.

Papildus metodēm, kuras mantotas kolekcijas ietvarā, saraksta saskarne definē arī dažas savas metodes. Saites interfeisa pievienotās metodes ir: pievienot (int, E) un addAll (int, kolekcija). Šīs metodes pievieno elementu sarakstam pēc to indeksa. Sarakstā iekļautās metodes var radīt izņēmumu, piemēram Neatbalstīta darbībaEksemplārs ja metode nespēj modificēt sarakstu. Ja viens objekts sarakstā nav saderīgs ar citu saraksta objektu, tad ClassCastException tiek izmesti.Nelieli elementi sarakstā nav atļauti, ja mēģināt sarakstā ievietot nulles objektu, NullPointerException tiek izmests.


Elementu no saraksta var iegūt, izmantojot gūt() metode. Izmantojot elementu, sarakstā var iestatīt elementa vērtību komplekts () metode. Jūs varat arī iegūt apakšsarakstu no saraksta, izmantojot metodi apakšsaraksts (). Kļūst ērti, ja darbojas saraksta vietā.

ArrayList definīcija

Viena no standarta kolekcijas klasēm ir ArrayList, kas paplašinās AbstractList klase un arī realizē Saraksts saskarne. ArrayList klase tiek izmantota, lai izveidotu dinamiskos masīvus, kas vajadzības gadījumā pieaug un sarūk. Saraksts, kas izveidots, izmantojot ArrayList klasi, ir nekas cits kā objektu masīvs. Java Java standarta masīvam ir noteikts garums, tāpēc jums iepriekš jāzina masīva lielums. Bet var būt, ka jūs, iespējams, nezināt, kāds masīva garums jums nepieciešams līdz izpildes laikam. Tādējādi kolekcijas ietvarstruktūra iepazīstināja ar ArrayList klasi, lai pārvarētu šo problēmu.

ArrayList ir konstruktori, kas izveido masīvu ar tā sākotnējo ietilpību. Lai gan klases ArrayList objekta ietilpība automātiski palielinās, kad elementi tiek pievienoti masīvam, tomēr jūs varat manuāli palielināt ArrayList objekta ietilpību, izmantojot metodi nodrošināt kapacitāti (). Sākotnēji ir labāk palielināt masīva ietilpību, nevis vēlāk pārdalīt atmiņu. Tā kā pārdale ir dārgāka nekā atmiņas piešķiršana uzreiz.

  1. Viena no vissvarīgākajām atšķirībām starp List un ArrayList ir tā, ka saraksts ir saskarne un ArrayList ir standarta kolekcija klase.
  2. Saraksta saskarne paplašina Kolekcija tā kā ArrayList paplašinās AbstractList Klase un tā īsteno Saraksts saskarnes.
  3. Saraksta interfeisa nosaukumvieta ir System.Collection.Generic tā kā ArrayList nosaukumvieta ir Sistēma.Kolekcija.
  4. Saraksta saskarne izveido elementu kolekciju, kas tiek saglabāta secībā un tiek identificēta vai kurai var piekļūt pēc to indeksa numura. No otras puses, ArrayList izveido objektu masīvu, kur masīvs var dinamiski augt pēc nepieciešamības.

Secinājums:

ArrayList novērš statiskā masīva problēmu standarta Java, t.i., masīva izmērs pēc tā izveidošanas nevar pieaugt. Kad masīvs tiek izveidots, izmantojot ArrayList, tiek izveidots dinamisks masīvs, kas pēc vajadzības var augt un sarukt. Standarta kolekcijas klase ArrayList paplašina saraksta saskarni.