Ieteicams, 2024

Redaktora Izvēle

Starpība starp sarakstu un ArrayList Java

Saraksts un ArrayList ir kolekcijas sistēmas dalībnieki. Saraksts ir elementu kopums secībā, kurā katrs elements ir objekts, un elementi ir pieejami ar atrašanās vietu (indeksu). ArrayList izveido dinamisku objektu kopumu, kas pēc vajadzības palielinās vai samazinās. Galvenā atšķirība starp List un ArrayList ir tas, ka saraksts ir interfeiss, un ArrayList ir klase. Izpētīsim atšķirību starp sarakstu un ArrayList ar zemāk redzamo salīdzinājumu tabulu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsSarakstsArrayList
PamataSaraksts ir saskarneArrayList ir standarta kolekciju klase.
Sintakseinterfeisa sarakstsklases ArrayList
Paplašināt / īstenotSaraksta interfeiss paplašina kolekcijas ietvaru.ArrayList paplašina AbstractList un īsteno List Interface.
Vārda vietaSystem.Collections.Generic.System.Collections.
DarbsTo izmanto, lai izveidotu to elementu (objektu) sarakstu, kas ir saistīti ar to indeksu numuriem.ArrayList izmanto, lai izveidotu dinamisku masīvu, kas satur objektus.

Saraksta definīcija

Saraksts ir saskarne, kas paplašina kolekcijas sistēmu. Saraksta interfeiss apraksta secīgi sakārtotu elementu kolekciju. Saraksta interfeiss tiek īstenots ar šādām standarta kolekciju klasēm, piemēram, ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Saraksta interfeisam ir elementi, kas ir saistīti ar to indeksu numuriem. Varat piekļūt saraksta elementam pēc tās pozīcijas (indeksa) sarakstā. Saraksts, kas izveidots, izmantojot saraksta interfeisu, sākas ar nulles indeksu.

Līdztekus savākšanas sistēmas mantojuma metodēm, List interfeiss definē arī atsevišķu metodi. Metodes, ko pievieno saraksta interfeiss, ir pievienot (int, E) un addAll (int, Collection) . Šīs metodes sarakstā pievieno elementu pēc to indeksa. Sarakstā esošās metodes var novest pie izņēmuma, piemēram, UnsupportedOperationException, ja metode nevar mainīt sarakstu. Ja viens objekta saraksts ir nesaderīgs ar citu sarakstā iekļauto objektu, tad ClassCastException tiek izmests.Neatkarīgi elementi sarakstā, ja mēģināt ievietot nulles objektu, sarakstā nav atļauts izmantot nulles elementus.

Jūs varat iegūt elementu no saraksta, izmantojot get () metodi. Varat iestatīt elementa vērtību sarakstā, izmantojot iestatīto () metodi. Varat arī iegūt sarakstu no saraksta, izmantojot metožu sarakstu () . Tas ir ērti darboties apakšpozīcijā saraksta vietā.

ArrayList definīcija

Viena no standarta kolekciju klasēm ir ArrayList, kas paplašina AbstractList klasi un īsteno arī List interfeisu. ArrayList klasi izmanto, lai izveidotu dinamiskus masīvus, kas pēc vajadzības pieaug un sarūk. Saraksts, kas izveidots, izmantojot ArrayList klasi, nav nekas cits kā objektu masīvs. Java sistēmā standarta masīvam ir noteikts garums, tāpēc jums ir jāzina masīva izmērs iepriekš. Bet tas var būt gadījums, kad jūs nevarat zināt, kāda masīva garums ir nepieciešams līdz palaišanas laikam. Tādējādi savākšanas sistēma ieviesa ArrayList klasi, lai pārvarētu šo problēmu.

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

Galvenās atšķirības starp sarakstu un ArrayList

  1. Viena no svarīgākajām atšķirībām starp List un ArrayList ir tas, ka saraksts ir interfeiss, un ArrayList ir standarta kolekcijas klase .
  2. Saraksta interfeiss paplašina kolekcijas ietvaru, savukārt ArrayList paplašina AbstractList Class un īsteno List interfeisus.
  3. Listface for List interfeiss ir System.Collection.Generic tā kā ArrayList vārda vieta ir System.Collection .
  4. Saraksta interfeiss izveido elementu kopumu, kas tiek saglabāts secībā un tiek identificēts vai piekļūstams pēc to indeksa numura. No otras puses, ArrayList izveido objektu kopumu, kur masīvs var dinamiski augt, kad tas ir nepieciešams.

Secinājums:

ArrayList pārvar statiskā masīva jautājumu standartā Java, ti, masīvs nevar veidoties pēc tam, kad tas ir izveidots. Kad masīvs ir izveidots, izmantojot ArrayList, tiek izveidots dinamisks masīvs, kas pēc vajadzības var augt un sarukt. Standarta kolekcijas klases ArrayList paplašina saraksta interfeisu.

Top