Sobes.tech
Junior

Co je to LinkedList?

sobes.tech AI

Odpověď od AI

LinkedList — je jednou z implementací rozhraní List v Javě. Představuje dvoustranně vázaný seznam, kde každý prvek (uzel) obsahuje odkaz na předchozí a následující uzel, stejně jako uloženou hodnotu.

Hlavní vlastnosti:

  • Dynamická velikost: Může se zvětšovat nebo zmenšovat podle přidávání nebo odstraňování prvků.
  • Nepočítaný přístup: Přístup k prvkům se provádí sekvenčním procházením, nikoli přímo podle indexu (jako v ArrayList).
  • Efektivní operace vkládání/odstraňování: Vkládání nebo odstraňování prvků na začátku, konci nebo uvnitř seznamu je obvykle velmi rychlé (v O(1) nebo O(n), v závislosti na pozici a potřebě hledání).
  • Neefektivní přístup podle indexu: Přístup k prvku podle jeho indexu vyžaduje projití seznamu od začátku nebo konce, což činí tuto operaci pomalou (O(n)).
  • Implementuje rozhraní List, Deque, Cloneable, Serializable: To umožňuje používat jej jako seznam, frontu nebo zásobník.

Používá se, když jsou operace vkládání a odstraňování prvků časté, zejména na začátku nebo konci seznamu, a není vyžadován častý náhodný přístup k prvkům podle indexu. V opačném případě je vhodnější použít ArrayList.