LinkedList
リンク構造のリスト – LinkedListクラスLinkedListは、要素同士を前後双方向のリンクで参照するリンクリストを表します。その性質上、要素の挿入/削除はリンクの付け替えで済むため、ArrayListに較べても高速です。反面、インデックス値によるランダムなアクセスは苦手であるという性質を持ちます(*)。このような理由から、挿入/削除操作が多い状況ではLinkedListを、それ以外の場合はArrayListを使う、という使い分けになるでしょう。
LinkedListクラスで利用できるメソッドは、ArrayListと同じですので、そちらも合わせて参照してください。以下は、LinkedListで要素をセットし、その内容を順に読み込む例です。
※その性質上、挿入/削除に先立って、特定の要素を検索するような操作が加わる場合、やはりパフォーマンスが低下する原因になるので要注意です。
CollLink.java
package com.example.mynavi.collection;
import java.util.LinkedList;
import java.util.List;
public class CollLink {
public static void main(String[] args) {
List<String> list = new LinkedList<String>() {
{
add("Windows");
add("Linux");
add("macOS");
}
};
for (String str : list) {
System.out.println(str); // 結果:Windows、Linux、macOS
}
System.out.println("2番目の要素は" + list.get(1));
// 結果:2番目の要素はLinux
System.out.println(list.contains("Linux")); // 結果:true
if (!list.isEmpty()) {
System.out.println("要素数は" + list.size() + "個です。");
// 結果:要素数は3個です。
}
list.remove(0);
System.out.println(list); // 結果:[Linux, macOS]
list.clear();
System.out.println(list); // 結果:[]
}
}






