Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

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("OS X");
      }
    };

    for (String str : list) {
      System.out.println(str);	// 結果:Windows、Linux、 OS X
    }

    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, OS X]

    list.clear();
    System.out.println(list);	// 結果:[]
  }
}
コレクションフレームワーク
コレクションフレームワーク
コレクションを初期化する
synchronizedList/synchronizedMap/synchronizedSetメソッド
ArrayListクラス
asListメソッド
toArrayメソッド
LinkedList
HashMap
TreeMap
NavigableMap
HashSet
ArrayDeque

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職