Java LinkedList


Java LinkedList

V předchozí kapitole jste se dozvěděli o ArrayListtřídě. Třída LinkedListje téměř totožná s ArrayList:

Příklad

// Import the LinkedList class
import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    LinkedList<String> cars = new LinkedList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}


ArrayList vs. LinkedList

Třída LinkedListje kolekce, která může obsahovat mnoho objektů stejného typu, stejně jako ArrayList.

Třída LinkedListmá všechny stejné metody jako ArrayListtřída, protože obě implementují Listrozhraní. To znamená, že stejným způsobem můžete přidávat položky, měnit položky, odebírat položky a mazat seznam.

I když však ArrayListtřídu a LinkedListtřídu lze používat stejným způsobem, jsou sestaveny velmi odlišně.

Jak ArrayList funguje

Třída ArrayListmá uvnitř pravidelné pole. Když je prvek přidán, je umístěn do pole. Pokud pole není dostatečně velké, vytvoří se nové, větší pole, které nahradí staré, a staré se odstraní.

Jak funguje LinkedList

Skladuje LinkedListsvé položky v „kontejnerech“. Seznam má odkaz na první kontejner a každý kontejner má odkaz na další kontejner v seznamu. Chcete-li přidat prvek do seznamu, prvek se umístí do nového kontejneru a tento kontejner se propojí s jedním z dalších kontejnerů v seznamu.

Kdy použít

Použijte a ArrayListpro ukládání a přístup k datům a LinkedList pro manipulaci s daty.


Metody LinkedList

V mnoha případech ArrayListje efektivnější, protože je běžné potřebovat přístup k náhodným položkám v seznamu, ale LinkedListposkytuje několik metod, jak provádět určité operace efektivněji:

Method Description Try it
addFirst() Adds an item to the beginning of the list.
addLast() Add an item to the end of the list
removeFirst() Remove an item from the beginning of the list.
removeLast() Remove an item from the end of the list
getFirst() Get the item at the beginning of the list
getLast() Get the item at the end of the list