Razlike med seznamom Java in seznam array

Java je dinamičen jezik in se lahko uporablja na kateri koli platformi. Ponuja seznam Java proti ArrayList. Seznam deluje kot vmesnik, seznam Array pa je implementacija seznama. Seznam vmesnikov je sestavljen iz metod. Te metode so vključene v razred seznama Array z nekaj dodatki metod. Glavna razlika med Java Listom in ArrayListom je, da morate v prvem ustvariti sklic na nadrejeni vmesnik in sklic na razred, ki izvaja seznam. To pomeni, da je Array list razreda drugi razred. Oglejmo si razlike med Java Listom in ArrayListom.

Primerjava med glavo in seznam Array (Infographics)

Spodaj je zgornja 4 primerjava med seznamom Java in seznam array

Ključne razlike med seznamom Java in Array Listom

Razlike med seznamom Java in seznam array so razložene v spodnjih točkah:

  • Ena večjih razlik je med Java Listom in Array Listom ta, da je seznam vmesnik, seznam Array pa je standardni zbirčni razred.
  • Java List vmesnik razširja zbirko in Array seznam razširja razred Povzetek seznama in lahko izvaja tudi vmesnik List.
  • Seznam vmesnikov ustvari zbirko elementov, ki so shranjeni v zaporedju in do njih lahko dostopate po indeksni številki. Nasprotno, Array seznam ustvari matriko predmetov, kjer lahko matrika dinamično raste, kadarkoli je potrebno, in zmanjša tudi.
  • Tako Java List kot Array List ponuja različne vrste metod za dostop do podatkov s seznama. Te metode omogočajo pridobivanje elementov iz matrike na določenem položaju, prav tako pa odstranite in skrčite velikost matrike v primeru seznama Array.

Tabela primerjav seznama Java in Array List

Sledi primerjalna tabela med Java Listom in Array Listom

Osnova primerjave med Java Listom in Array ListomSeznam JavaSeznam matrikov
Osnovna razlikaSeznam je vmesnik, ki razširja zbirko. Ko širi Collection, razglaša svoje vedenje in shrani zaporedje elementov. Seznam lahko vsebuje nekaj dodatnih metod skupaj s tistimi, ki so prisotni v zbirki. Seznam lahko vsebuje tudi podvojene elemente. Številne metode na seznamu lahko vržejo nepodprto operacijsko izjemo, če zbirke ni mogoče spremeniti.Array List je razred, ki širi Izvlečni seznam in izvaja vmesnik List. Običajni nizi, ki se uporabljajo v Javi, so določene dolžine. Ko je na Java ustvarjen niz, njegove velikosti ni mogoče povečati ali zmanjšati. Seznami matrikov so dinamični in jih je mogoče ustvariti z začetno velikostjo, kasneje pa lahko velikost povečate, če je dodanih več podatkov, prav tako pa jih lahko zmanjšate, če odstranite kakršne koli podatke.
SintaksaSintaksa za razglasitev seznama je naslednja:
javni vmesnik Seznam razširja zbirko
Sintaksa za razglasitev seznama matrike je naslednja:
javni razred ArrayList podaljša seznam izvajanja AbstractList, RandomAccess, Cloneable, Serializable
DeloSeznam Java razširja okvir za zbiranje in uporablja imenske prostore system.collection.generic. Seznam se uporablja za pridobivanje predmetov, ki so povezani z njihovimi indeksnimi številkami. Objekt seznama je mogoče ustvariti kot spodaj:
Seznam a = nov ArrayList ();
Ko uporabnik ustvari objekt, lahko omeji vrsto predmeta, ki ga je mogoče shraniti na seznam. Predmet lahko razglasimo za varnega tipa. To lahko storite na naslednji način:
// Obj je vrsta predmeta, ki se shrani v List.List list = nov Seznam ();
Seznam matrike je ustvarjen s podaljšanjem AbstractList-a in izvaja vmesnik seznama. Imenski prostor, ki ga uporablja seznam Array, je System. Zbirke. Seznam nizov se upošteva, ko mora uporabnik ustvariti dinamični niz, ki vsebuje predmete in ki jih je mogoče med izvajanjem dodati in odstraniti.
ArrayList je razred in zato ponuja nekaj konstruktorjev. Ti konstruktorji so, kot sledi:
1) ArrayList (): Z uporabo tega konstruktorja lahko uporabnik ustvari prazen seznam matrike.2) ArrayList (Zbirka c): Ta konstruktor se uporablja za ustvarjanje matričnega seznama, ki se inicializira z elementi, ki so poslani v zbirko c.3) ArrayList (int kapaciteta): Glavna značilnost seznama Array je, da se samodejno poveča, ko je na seznam array dodanih več elementov. Ta konstruktor pomaga ustvariti seznam matric z določeno začetno zmogljivostjo.
MetodeSeznam vsebuje različne metode:
1) neveljaven dodaj (int indeks, objekt obj)
Ta metoda pomaga pri vstavljanju predmetov. To se izvede tako, da se pri indeksu, ki se posreduje, prikliče seznam. Vsi obstoječi elementi so premaknjeni, zato se podatki ne prepisujejo.
2) Objekt get (int indeks)
Vrne predmet, ki je shranjen v tem določenem indeksu znotraj zbirke, ki ga prikliče.
3) ListIterator listIterator ()
Ta funkcija vrne iterator na začetek seznama za klicanje.
4) Odstranjevanje predmeta (int indeks)
Uporablja se pri odstranjevanju elementov iz omenjenega indeksa položaja in vrne izbrisani element. Prav tako je dobljeni seznam stisnjen in indeksi naslednjih elementov se zmanjšajo za enega.
5) Seznam podvrsti (int start, int konec)
Vrnil bo seznam od začetka do konca, kjer je začetni začetni indeks, konec pa indeks konca. Na elemente na seznamu se lahko sklicuje tudi objekt, ki ga prikliče.
Seznam nizov vsebuje spodnje načine:
1) neveljaven dodaj (int indeks, objekt obj)
Vstavi določen element na določeni poziciji in bo vrgel izjemo IndexOutOfBoundsException, ko bo omenjeni indeks zunaj dosega.
2) Boolean vsebuje (Objekt o)
Poišče seznam in vrne true, če je naveden element. Če bom natančnejši, če seznam vsebuje vsaj en element, ki je o == null? e == null: o.equals (e)
3) Objekt get (int indeks)
Vrne element, prisoten na podani poziciji, in vrže izjemo IndexOutOfBoundsException, ko omenjeni indeks ne dosega.
4) neveljavni zagotoviloKapaciteta (int minCapacity)
Povečuje zmogljivost primerka seznama Array. Zagotavlja, da lahko vsebuje minimalno število elementov, ki je določena kot zmogljivost.
5) Predmet () doArray ()
Vrne matriko, ki je sestavljena iz vseh elementov na seznamu. NullPointerException vrne, če je matrika ničelna.

Zaključek - Java List vs Array List

Kot rezultat, je seznam nizov rešitev problema pomnilnika statične matrike. Ko uporabnik uporablja seznam matričkov, se ustvari dinamični niz, ki ga lahko po potrebi povečate. Običajni seznam razširja zbirni razred. Prav tako je bolje na začetku povečati zmogljivost matrike, kot pa pozneje prerazporediti pomnilnik. Manipulacija je na seznamu nizov počasna, saj je treba storiti premik, če je kateri koli element odstranjen s seznama. Na seznamu lahko izvajate različne operacije dostopa do položaja, iskanja in prikaza dosega.

Priporočeni članek

To je vodilo za največje razlike med Java Listom in Array Listom. Tukaj razpravljamo tudi o glavnih razlikah Java List vs Array List z infografiko in primerjalno tabelo. Če želite izvedeti več, si lahko ogledate tudi naslednje članke -

  1. Java Vector v primerjavi z ArrayList-katera tehnologija je najboljša?
  2. Java vs JavaScript
  3. Zmogljivost Scala vs Java: Kateri je boljši
  4. Java Heap vs Stack
  5. C # Array proti seznamu; Prednosti
  6. Koristni vodnik za vprašanja o intervjuju s testiranjem Java
  7. Razlika med seznamom in nizom