Rozdiel medzi zoznamom polí a prepojeným zoznamom

Kľúčový rozdiel - ArrayList vs lineárny zoznam
 

Kolekcie sú užitočné na ukladanie údajov. V normálnom poli je veľkosť poľa pevná. Niekedy je potrebné vytvoriť polia, ktoré môžu rásť podľa potreby. Programovacie jazyky, ako je Java, majú kolekcie. Je to rámec so súborom tried a rozhraní. Slúži ako kontajner pre skupinu prvkov. Kolekcie umožňujú ukladať, aktualizovať a získavať sadu prvkov. Pomáha pracovať s dátovými štruktúrami, ako sú zoznamy, množiny, stromy a mapy. Zoznam predstavuje rozhranie rámca Collection. ArrayList a LinkedList sú dve triedy v rámci kolekcií. Implementujú rozhranie zberu a rozhranie zoznamu. Tento článok sa zaoberá rozdielom medzi ArrayListom a LinkedListom. ArrayList je trieda, ktorá rozširuje AbstractList a implementuje rozhranie List, ktoré interne používa dynamické pole na ukladanie dátových prvkov. LinkedList je trieda, ktorá rozširuje rozhrania AbstractSequentialList a implementuje rozhrania List, Deque a Queue, ktoré interne používajú na ukladanie dátových prvkov dvojnásobne prepojený zoznam.. To je kľúčový rozdiel medzi ArrayList a LinkedList.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je ArrayList
3. Čo je LinkedList
4. Podobnosti medzi zoznamom polí a prepojeným zoznamom
5. Porovnanie vedľa seba - ArrayList vs LinkedList v tabuľkovej forme
6. Zhrnutie

Čo je ArrayList?

Trieda ArrayList sa používa na vytváranie dynamických polí. Na rozdiel od normálneho poľa nie je veľkosť dynamického poľa pevná. Objekt vytvorený pomocou triedy ArrayList smie ukladať množinu prvkov do zoznamu. Kapacita sa zvyšuje automaticky, takže programátor môže pridať prvky do zoznamu. Trieda ArrayList rozširuje triedu AbstractList, ktorá implementuje rozhranie List. Preto môže ArrayList používať metódy rozhrania zoznamu. Na prístup k prvkom sa používa metóda get (). Metóda add () sa môže použiť na pridanie prvkov do zoznamu. Metóda remove () sa používa na odstránenie prvku zo zoznamu. Pozrite si nasledujúci program.

Obrázok 01: Príklad zoznamu polí

Podľa vyššie uvedeného programu sa vytvorí objekt ArrayList. Pomocou metódy pridať sa prvky môžu pridávať dynamicky. Prvky „A“, „B“, „C“, „D“ a „E“ sa pridajú pomocou metódy pridania. Metóda remove sa používa na odstránenie prvku zo zoznamu. Pri prechode 4 na metódu odstránenia sa písmeno zo 4. indexu, ktoré je „E“, zo zoznamu odstráni. Pri opakovaní zoznamu pomocou slučky for sa vytlačia písmená A, B, C a D.

Čo je LinkedList?

Podobne ako v prípade ArrayList sa používaný zoznam používa na dynamické ukladanie dátových prvkov. Objekt vytvorený pomocou triedy LinkedList má povolené ukladať množinu prvkov do zoznamu. Kapacita sa zvyšuje automaticky, takže programátor môže pridať prvky do zoznamu. Interne používa dvojnásobne prepojený zoznam na ukladanie údajov. V dvojnásobne prepojenom zozname sú údaje uložené ako uzly. Každý uzol obsahuje dva odkazy. Prvý odkaz ukazuje na predchádzajúci uzol. Nasledujúci odkaz ukazuje na nasledujúci uzol v sekvencii.

Trieda LinkedList rozširuje triedu AbstractSequentialList a implementuje rozhranie List. Preto môže byť metódou rozhrania Zoznamu použitý Zoznam pripojených. Metódu get () možno použiť na prístup k prvkom zoznamu. Metóda add () sa môže použiť na pridanie prvkov do zoznamu. Metóda remove () sa používa na odstránenie prvku zo zoznamu. Pozrite si nasledujúci program.

Obrázok 02: Príklad s LinkedList

Podľa vyššie uvedeného programu sa vytvorí objekt prepojeného zoznamu. Pomocou metódy pridať sa prvky môžu pridávať dynamicky. Prvky „A“, „B“, „C“, „D“ a „E“ sa pridajú pomocou metódy pridania. Metóda remove sa používa na odstránenie prvku zo zoznamu. Pri prechode 4 na metódu odstránenia sa písmeno zo 4. indexu, ktoré je „E“, odstráni zo zoznamu. Pri iterácii pomocou slučky for sa vytlačia písmená A, B, C a D.

Aké sú podobnosti medzi zoznamom polí a zoznamom odkazov?

  • ArrayList aj LinkedList implementujú zoznamové rozhranie.
  • ArrayList aj LinkedList môžu obsahovať duplicitné prvky.
  • ArrayList aj LinkedList udržujú poradie vkladania.

Aký je rozdiel medzi zoznamom polí a zoznamom odkazov?

ArrayList vs LinkedList

ArrayList je trieda, ktorá rozširuje AbstractList a implementuje rozhranie List, ktoré interne používa dynamické pole na ukladanie dátových prvkov. LinkedList je trieda, ktorá rozširuje rozhranie AbstractSequentialList a implementuje rozhrania List, Deque, Queue, ktoré interne používa na ukladanie dátových prvkov dvojnásobne prepojený zoznam..
 Prístup k prvkom
Prístup k prvkom ArrayList je rýchlejší ako k LinkList. Prístup k prvkom pripojeného zoznamu je pomalší ako v zozname polí.
Manipulačné prvky
Manipulácia s prvkami súboru ArrayList je pomalšia ako so zoznamom pripojených. Manipulácia s prvkami LinkedList je rýchlejšia ako s ArrayList.
 správanie
ArrayList funguje ako zoznam. Prepojený zoznam funguje ako zoznam a front.

zhrnutie - ArrayList vs lineárny zoznam

Rámec zberu umožňuje prácu s dátovými štruktúrami, ako sú zoznamy, stromy, mapy a množiny. Zoznam predstavuje rozhranie rámca zberu. V tomto článku sa diskutuje o rozdieloch medzi ArrayList a LinkedList. ArrayList je trieda, ktorá rozširuje AbstractList a implementuje rozhranie List, ktoré interne používa dynamické pole na ukladanie dátových prvkov. LinkedList je trieda, ktorá rozširuje rozhrania AbstractSequentialList a implementuje rozhrania List, Deque, Queue, ktoré interne používa na ukladanie dátových prvkov dvojnásobne prepojený zoznam. To je rozdiel medzi ArrayListom a LinkedListom.

referencie:

1.Úvod do prepojeného zoznamu Výukový program pre štruktúru údajov Studytonight. K dispozícii tu
2. „LinkedList in Java - javatpoint.“, The Point, Available here here
3. „Trieda Java ArrayList - javatpoint.“ The Point, k dispozícii tu