Java LinkedList
Java LinkedList
ArrayList
前の章では、クラスについて学びました。LinkedList
クラスは:とほとんど同じ
ですArrayList
。
例
// 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とLinkedList
クラスは、のLinkedList
ように、同じタイプの多くのオブジェクトを含むことができるコレクションArrayList
です。
クラスは両方ともインターフェースを実装しているためLinkedList
、クラスと同じメソッドをすべて持っています。つまり、同じ方法で、アイテムの追加、アイテムの変更、アイテムの削除、およびリストのクリアを行うことができます。ArrayList
List
ただし、ArrayList
クラスとLinkedList
クラスは同じように使用できますが、構築方法は大きく異なります。
ArrayListのしくみ
ArrayList
クラス内には通常の配列があります。要素が追加されると、その要素は配列に配置されます。アレイが十分に大きくない場合は、古いアレイを置き換えるために新しい大きなアレイが作成され、古いアレイが削除されます。
LinkedListのしくみ
LinkedList
アイテムは「コンテナ」に保管されます。リストには最初のコンテナへのリンクがあり、各コンテナにはリスト内の次のコンテナへのリンクがあります。リストに要素を追加するには、要素を新しいコンテナーに配置し、そのコンテナーをリスト内の他のコンテナーの1つにリンクします。
いつ使用するか
を使用して、ArrayList
データの保存とアクセス、およびデータのLinkedList
操作を行います。
LinkedListメソッド
多くの場合、ArrayList
リスト内のランダムなアイテムにアクセスする必要があるので、はより効率的ですが、LinkedList
は特定の操作をより効率的に実行するためのいくつかの方法を提供します。
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 |