HOME > LinkedListクラス

LinkedListクラス

LinkedListは基本的にArrayListと同じですが、ArrayListよりも挿入や削除が速いという特徴があります。
その代わり値の取り出しはArrayListよりも劣ります。


【LinkedListの特徴】
 ・要素の重複:可
 ・nullの要素:可
 ・自動ソート:なし
 ・その他:挿入や削除は早いが、読み込みは遅い

サンプルソースコード

LinkedListサンプル
import java.util.LinkedList;
import java.util.Iterator;

public class LinkedListSample {

    public static void main(String args[]) {

        //LinkedListの生成とデータのセット
        LinkedList<String> ll = new LinkedList<String>();
        ll.add("A");
        ll.add("B");
        ll.add("C");
        ll.add("C");
        ll.add(null);
        ll.set(0, "X");  //1文字目を"X"に更新する
        ll.add(1, "Y");  //2文字目に"Y"を挿入する
        ll.remove(2);    //3文字目を削除する

        //LinkedListを1件ずつ取り出し画面に表示する
        Iterator<String> it = ll.iterator();
        while (it.hasNext()) {
            System.out.println((String)it.next());
        }

        //※拡張for文にて記述する場合はこちら※
        for (String a : ll) {
            System.out.println(a);
        }

    }

}

実行結果
C:\>java LinkedListSample X Y C C null

主要メソッド

【java.util.LinkedListクラスの主要メソッド】
戻値型メソッド説明
booleanadd(Object o)リストの最後に要素oを追加する
voidadd(int i, Object o)リストi番目に要素oを挿入する
voidclear()リストの全ての要素を削除する
Objectclone()ArrayListのコピーを返す
booleancontains(Object o)リスト中に要素oが存在するかどうかを判断する
Eget(int i)リストのi番目の要素を返す
intindexOf(Object o)要素oがリスト内で最初に出現するインデックスを返す
(見つからない場合は-1が返る)
booleanisEmpty()リストが空かどうかを判断する
intlastIndexOf(Object o)要素oがリスト内で最後に出現するインデックスを返す
(見つからない場合は-1が返る)
Eremove(int i)リストのi番目の要素を削除する
(戻り値には削除した要素が返る)
Eset(int i, Object o)リストのi番目の要素を要素oに置き換える
(戻り値には置き換える前の要素が返る)
intsize()リストの要素数を返す
Object[]toArray()リストを配列にして返す
LinkedList主要メソッドサンプル
//2番目の要素を取得する
ll.get(1);

//要素の3番目に"hoge"を追加する
ll.add(2, "hoge");

//4番目の要素を"hoge"に更新する
ll.set(3, "hoge");

//5番目の要素を削除する
ll.remove(4);

//全要素を削除する
ll.clear();

//要素数を取得する
ll.size();

//要素が空かどうかを判断する
ll.isEmpty();