Razlika med ArrayList in LinkedList

Ključna razlika - ArrayList vs LinkedList
 

Zbirke so uporabne za shranjevanje podatkov. V običajnem polju je velikost matrike fiksna. Včasih je potrebno ustvariti matrike, ki lahko rastejo po potrebi. Programski jeziki, kot je Java, imajo zbirke. Je okvir z nizom razredov in vmesnikov. Služi kot posoda za skupino elementov. Zbirke omogočajo shranjevanje, posodabljanje, nalaganje nabora elementov. Pomaga pri delu s podatkovnimi strukturami, kot so seznami, nabori, drevesa in zemljevidi. Seznam je vmesnik okvira Collection. ArrayList in LinkedList sta dva razreda v okviru zbirk. Izvajajo zbirčni vmesnik in vmesnik List. Ta članek govori o razliki med ArrayList in LinkedList. ArrayList je razred, ki razširja AbstractList in izvaja vmesnik List, ki notranje uporablja dinamično matriko za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in izvaja vmesnike List, Deque in Queue, ki za shranjevanje podatkov uporabljajo notranje dvojno povezan seznam.. To je tisto ključna razlika med ArrayList in LinkedList.

VSEBINA

1. Pregled in ključne razlike
2. Kaj je ArrayList
3. Kaj je LinkedList
4. Podobnosti med ArrayList in LinkedList
5. Primerjava ob strani - ArrayList proti LinkedList v tabeli
6. Povzetek

Kaj je ArrayList?

Razred ArrayList se uporablja za ustvarjanje dinamičnih nizov. Za razliko od običajnega niza velikost dinamičnega niza ni fiksna. Predmet, ustvarjen z razredom ArrayList, lahko shrani nabor elementov na seznam. Zmogljivost se samodejno poveča, zato lahko programer doda elemente na seznam. Razred ArrayList razširja razred AbstractList, ki izvaja vmesnik List. ArrayList lahko zato uporablja metode vmesnika List. Za dostop do elementov se uporablja metoda get (). Za dodajanje elementov na seznam lahko uporabimo metodo add (). Metoda remove () se uporablja za odstranitev elementa s seznama. Glejte spodnji program.

Slika 01: Primer ArrayList

Po zgornjem programu se ustvari objekt ArrayList. S pomočjo metode add lahko elemente dodate dinamično. Elementi "A", "B", "C", "D" in "E" so dodani z uporabo metode dodajanja. Način odstranjevanja se uporablja za odstranitev elementa s seznama. Ko preidete 4 na način odstranjevanja, se črka v 4. indeksu, ki je "E", odstrani s seznama. Pri iteriranju po seznamu s pomočjo zanke se natisnejo črke A, B, C in D.

Kaj je LinkedList?

Podobno kot ArrayList se tudi LinkedList uporablja za dinamično shranjevanje podatkovnih elementov. Predmet, ustvarjen z razredom LinkedList, lahko shrani nabor elementov na seznam. Zmogljivost se samodejno poveča, zato lahko programer doda elemente na seznam. Interno uporablja dvojno povezan seznam za shranjevanje podatkov. V dvojno povezanem seznamu so podatki shranjeni kot vozlišča. Vsako vozlišče vsebuje dve povezavi. Prva povezava kaže na prejšnje vozlišče. Naslednja povezava kaže na naslednje vozlišče v zaporedju.

Razred LinkedList razširja razred AbstractSequentialList in izvaja vmesnik List. Zato lahko LinkedList uporablja metode vmesnika List. Metoda get () se lahko uporablja za dostop do elementov seznama. Za dodajanje elementov na seznam lahko uporabimo metodo add (). Metoda remove () se uporablja za odstranitev elementa s seznama. Glejte spodnji program.

Slika 02: Primer s LinkedListom

Po zgornjem programu se ustvari objekt LinkedList. S pomočjo metode add lahko elemente dodate dinamično. Elementi "A", "B", "C", "D" in "E" so dodani z uporabo metode dodajanja. Način odstranjevanja se uporablja za odstranitev elementa s seznama. Ko preidete 4 na način odstranjevanja, se črka v 4. indeksu, ki je "E", odstrani s seznama. Pri iteriranju z zanko natisnejo črke A, B, C in D.

Kakšne so podobnosti med ArrayList in LinkedList?

  • Tako ArrayList kot LinkedList izvajata vmesnik List.
  • Tako ArrayList kot LinkedList lahko vsebujeta podvojene elemente.
  • Tako ArrayList kot LinkedList vzdržujeta vrstni red vstavljanja.

Kakšna je razlika med ArrayList in LinkedList?

ArrayList vs LinkedList

ArrayList je razred, ki razširja AbstractList in izvaja vmesnik List, ki notranje uporablja dinamično matriko za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in izvaja vmesnike List, Deque, Queue, ki interno uporablja dvojno povezan seznam za shranjevanje podatkovnih elementov.
 Dostop do elementov
Dostop do elementov ArrayList je hitrejši kot do LinkedLista. Dostop do elementov LinkedList je počasnejši kot do ArrayList.
Manipuliranje elementov
Manipuliranje elementov ArrayList je počasnejše kot pri LinkedListu. Manipuliranje elementov LinkedList je hitrejše kot pri ArrayListu.
 Obnašanje
ArrayList deluje kot Seznam. LinkedList deluje kot seznam in čakalna vrsta.

Povzetek - ArrayList vs LinkedList

Okvir zbiranja omogoča delo s podatkovnimi strukturami, kot so seznami, drevesa, zemljevidi in nabori. Seznam je vmesnik okvira zbiranja. Ta članek obravnava razliko med ArrayList in LinkedList. ArrayList je razred, ki razširja AbstractList in izvaja vmesnik List, ki notranje uporablja dinamično matriko za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in izvaja vmesnike List, Deque, Queue, ki interno uporablja dvojno povezan seznam za shranjevanje podatkovnih elementov. To je razlika med ArrayList in LinkedList.

Referenca:

1.Uvod v povezan seznam | Vadnica za strukturo podatkov | Študijska noč. Na voljo tukaj
2. “LinkedList na Javi - javatpoint.”, Točka, na voljo tukaj
3. "Razred Java ArrayList - javatpoint." Točka, ki je na voljo tukaj