Rozdíl Mezi ArrayList A LinkedList

Obsah:

Rozdíl Mezi ArrayList A LinkedList
Rozdíl Mezi ArrayList A LinkedList

Video: Rozdíl Mezi ArrayList A LinkedList

Video: Rozdíl Mezi ArrayList A LinkedList
Video: LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka 2024, Listopad
Anonim

Klíčový rozdíl - ArrayList vs LinkedList

Kolekce jsou užitečné pro ukládání dat. V normálním poli je velikost pole pevná. Někdy je nutné vytvořit pole, která mohou podle potřeby růst. Programovací jazyky, jako je Java, mají sbírky. Jedná se o rámec se sadou tříd a rozhraní. Slouží jako kontejner pro skupinu prvků. Kolekce umožňují ukládat, aktualizovat a načítat sadu prvků. Pomáhá pracovat s datovými strukturami, jako jsou seznamy, sady, stromy a mapy. Seznam je rozhraním rámce Collection. ArrayList a LinkedList jsou dvě třídy v rámci kolekce. Implementují rozhraní kolekce a rozhraní seznamu. Tento článek pojednává o rozdílech mezi ArrayList a LinkedList. ArrayList je třída, která rozšiřuje AbstractList a implementuje rozhraní List, které interně používá dynamické pole k ukládání datových prvků. LinkedList je třída, která rozšiřuje AbstractSequentialList a implementuje rozhraní List, Deque a Queue, která interně používají dvojitě propojený seznam k ukládání datových prvků. To je klíčový rozdíl mezi ArrayList a LinkedList.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je ArrayList

3. Co je LinkedList

4. Podobnosti mezi ArrayList a LinkedList

5. Porovnání vedle sebe - ArrayList vs LinkedList ve formě tabulky

6. Shrnutí

Co je ArrayList?

Třída ArrayList se používá k vytváření dynamických polí. Na rozdíl od normálního pole není velikost dynamického pole pevná. Objekt vytvořený pomocí třídy ArrayList může ukládat sadu prvků do seznamu. Kapacita se zvyšuje automaticky, takže programátor může do seznamu přidávat prvky. Třída ArrayList rozšiřuje třídu AbstractList, která implementuje rozhraní List. Proto metody ArrayList může použít ArrayList. Pro přístup k prvkům se používá metoda get (). K přidání prvků do seznamu lze použít metodu add (). Metoda remove () se používá k odebrání prvku ze seznamu. Viz níže uvedený program.

Rozdíl mezi ArrayList a LinkedList
Rozdíl mezi ArrayList a LinkedList

Obrázek 01: Příklad ArrayList

Podle výše uvedeného programu je vytvořen objekt ArrayList. Pomocí metody přidání lze prvky přidávat dynamicky. Prvky „A“, „B“, „C“, „D“a „E“se přidávají pomocí metody přidání. Metoda remove se používá k odebrání prvku ze seznamu. Při předávání 4 metodě remove je písmeno ze 4. indexu, které je „E“, odstraněno ze seznamu. Při iteraci seznamu pomocí smyčky for se vytisknou písmena A, B, C a D.

Co je LinkedList?

Podobně jako ArrayList se LinkedList používá k dynamickému ukládání datových prvků. Objekt vytvořený pomocí třídy LinkedList má povoleno ukládat sadu prvků do seznamu. Kapacita se zvyšuje automaticky, takže programátor může do seznamu přidávat prvky. Interně používá k ukládání dat dvojnásobně propojený seznam. V dvojnásobně propojeném seznamu jsou data uložena jako uzly. Každý uzel obsahuje dva odkazy. První odkaz ukazuje na předchozí uzel. Další odkaz ukazuje na další uzel v pořadí.

Třída LinkedList rozšiřuje třídu AbstractSequentialList a implementuje rozhraní List. Metody rozhraní List lze proto použít LinkedList. Metodu get () lze použít k přístupu k prvkům seznamu. K přidání prvků do seznamu lze použít metodu add (). Metoda remove () se používá k odebrání prvku ze seznamu. Viz níže uvedený program.

Klíčový rozdíl mezi ArrayList a LinkedList
Klíčový rozdíl mezi ArrayList a LinkedList

Obrázek 02: Příklad s LinkedList

Podle výše uvedeného programu je vytvořen objekt LinkedList. Pomocí metody přidání lze prvky přidávat dynamicky. Prvky „A“, „B“, „C“, „D“a „E“se přidávají pomocí metody přidání. Metoda remove se používá k odebrání prvku ze seznamu. Při předávání 4 metodě remove bude písmeno ve 4. indexu, které je „E“, odstraněno ze seznamu. Při iteraci pomocí smyčky for se vytisknou písmena A, B, C a D.

Jaké jsou podobnosti mezi ArrayList a LinkedList?

  • ArrayList i LinkedList implementují rozhraní seznamu.
  • ArrayList i LinkedList mohou obsahovat duplicitní prvky.
  • ArrayList i LinkedList udržují pořadí vložení.

Jaký je rozdíl mezi ArrayList a LinkedList?

Rozdílný článek uprostřed před tabulkou

ArrayList vs LinkedList

ArrayList je třída, která rozšiřuje AbstractList a implementuje rozhraní List, které interně používá dynamické pole k ukládání datových prvků. LinkedList je třída, která rozšiřuje AbstractSequentialList a implementuje rozhraní List, Deque, Queue, která interně používá dvojnásobně propojený seznam k ukládání datových prvků.
Přístup k prvkům
Přístup k prvkům ArrayList je rychlejší než k LinkedList. Přístup k prvkům LinkedList je pomalejší než k ArrayList.
Manipulace s prvky
Manipulace s prvky ArrayList je pomalejší než u LinkedList. Manipulace s prvky LinkedList je rychlejší než s ArrayList.
Chování
ArrayList funguje jako seznam. LinkedList funguje jako seznam a fronta.

Shrnutí - ArrayList vs LinkedList

Rámec kolekce umožňuje práci s datovými strukturami, jako jsou seznamy, stromy, mapy a sady. Seznam je rozhraním rámce kolekce. Tento článek pojednával o rozdílech mezi ArrayList a LinkedList. ArrayList je třída, která rozšiřuje AbstractList a implementuje rozhraní List, které interně používá dynamické pole k ukládání datových prvků. LinkedList je třída, která rozšiřuje AbstractSequentialList a implementuje rozhraní List, Deque, Queue, která interně používá dvojnásobně propojený seznam k ukládání datových prvků. To je rozdíl mezi ArrayList a LinkedList.

Doporučená: