Razlika med ArrayList in LinkedList

Kazalo:

Razlika med ArrayList in LinkedList
Razlika med ArrayList in LinkedList

Video: Razlika med ArrayList in LinkedList

Video: Razlika med ArrayList in LinkedList
Video: Introduction to Linked Lists, Arrays vs Linked Lists, Advantages/Disadvantages - C++ Data Structures 2024, December
Anonim

Ključna razlika – ArrayList proti LinkedList

Zbirke so uporabne za shranjevanje podatkov. V običajni matriki je velikost matrike fiksna. Včasih je treba ustvariti nize, ki se lahko po potrebi povečajo. Programski jeziki, kot je Java, imajo zbirke. Je ogrodje z nizom razredov in vmesnikov. Služi kot vsebnik za skupino elementov. Zbirke omogočajo shranjevanje, posodabljanje, pridobivanje nabora elementov. Pomaga pri delu s podatkovnimi strukturami, kot so seznami, nizi, drevesa in zemljevidi. Seznam je vmesnik ogrodja zbirke. ArrayList in LinkedList sta dva razreda v okviru zbirk. Implementirajo vmesnik zbiranja in vmesnik seznama. Ta članek obravnava razliko med ArrayList in LinkedList. ArrayList je razred, ki razširja AbstractList in implementira vmesnik List, ki interno uporablja dinamično polje za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in implementira vmesnike List, Deque in Queue, ki interno uporabljajo dvojno povezan seznam za shranjevanje podatkovnih elementov. To je ključna razlika med ArrayList in LinkedList.

Kaj je ArrayList?

Razred ArrayList se uporablja za ustvarjanje dinamičnih nizov. Za razliko od običajne matrike velikost dinamične matrike ni fiksna. Objektu, ustvarjenemu z razredom ArrayList, je dovoljeno shraniti nabor elementov na seznam. Kapaciteta se samodejno poveča, zato lahko programer dodaja elemente na seznam. Razred ArrayList razširja razred AbstractList, ki izvaja vmesnik List. Zato lahko ArrayList uporablja metode vmesnika List. Za dostop do elementov se uporablja metoda get(). Metodo add() lahko uporabite za dodajanje elementov na seznam. Metoda remove() se uporablja za odstranitev elementa s seznama. Oglejte si spodnji program.

Razlika med ArrayList in LinkedList
Razlika med ArrayList in LinkedList
Razlika med ArrayList in LinkedList
Razlika med ArrayList in LinkedList

Slika 01: Primer seznama ArrayList

V skladu z zgornjim programom se ustvari objekt ArrayList. Z metodo dodajanja je mogoče elemente dodajati dinamično. Elemente »A«, »B«, »C«, »D« in »E« dodamo z metodo dodajanja. Metoda odstranitve se uporablja za odstranitev elementa s seznama. Ko posredujete 4 metodi za odstranjevanje, se črka v 4. indeksu, ki je »E«, odstrani s seznama. Pri ponavljanju po seznamu z uporabo zanke for se bodo natisnile črke A, B, C in D.

Kaj je LinkedList?

Podobno kot ArrayList se LinkedList uporablja za dinamično shranjevanje podatkovnih elementov. Objektu, ustvarjenemu z uporabo razreda LinkedList, je dovoljeno shraniti niz elementov na seznam. Kapaciteta se samodejno poveča, zato lahko programer dodaja elemente na seznam. Za shranjevanje podatkov interno uporablja dvojno povezan seznam. Na 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 implementira vmesnik List. Zato lahko LinkedList uporablja metode vmesnika List. Za dostop do elementov seznama je mogoče uporabiti metodo get(). Metodo add() lahko uporabite za dodajanje elementov na seznam. Metoda remove() se uporablja za odstranitev elementa s seznama. Oglejte si spodnji program.

Ključna razlika med ArrayList in LinkedList
Ključna razlika med ArrayList in LinkedList
Ključna razlika med ArrayList in LinkedList
Ključna razlika med ArrayList in LinkedList

Slika 02: Primer s LinkedList

V skladu z zgornjim programom se ustvari objekt LinkedList. Z metodo dodajanja je mogoče elemente dodajati dinamično. Elemente »A«, »B«, »C«, »D« in »E« dodamo z metodo dodajanja. Metoda odstranitve se uporablja za odstranitev elementa s seznama. Ko posredujete 4 metodi za odstranjevanje, se črka v 4. indeksu, ki je »E«, odstrani s seznama. Pri ponavljanju z uporabo zanke for se bodo natisnile č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 proti LinkedList

ArrayList je razred, ki razširja AbstractList in implementira vmesnik List, ki interno uporablja dinamično polje za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in implementira 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 LinkedList. Dostop do elementov LinkedList je počasnejši kot do elementov ArrayList.
Manipuliranje elementov
Manipuliranje elementov seznama ArrayList je počasnejše kot upravljanje seznama LinkedList. Upravljanje elementov LinkedList je hitrejše kot z ArrayList.
Vedenje
ArrayList deluje kot seznam. LinkedList deluje kot seznam in čakalna vrsta.

Povzetek – ArrayList proti LinkedList

Ogrodje zbirke omogoča delo s podatkovnimi strukturami, kot so seznami, drevesa, zemljevidi in nizi. Seznam je vmesnik ogrodja zbirke. Ta članek je obravnaval razliko med ArrayList in LinkedList. ArrayList je razred, ki razširja AbstractList in implementira vmesnik List, ki interno uporablja dinamično polje za shranjevanje podatkovnih elementov. LinkedList je razred, ki razširja AbstractSequentialList in implementira vmesnike List, Deque, Queue, ki interno uporablja dvojno povezan seznam za shranjevanje podatkovnih elementov. To je razlika med ArrayList in LinkedList.

Priporočena: