[API] java.util.LinkedListクラス

LinkedListは、List系コレクションクラスのひとつです。

LinkedListの特徴

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

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

LinkedListの継承・実装

継承クラス

java.lang.Object
 ・java.util.AbstractCollection<E>
  ・java.util.AbstractList<E>
   ・java.util.AbstractSequentialList<E>
    ・java.util.LinkedList<E>

実装インターフェース

java.io.Serializable
java.lang.Cloneable
・java.lang.Iterable<E>
・java.util.Collection<E>
・java.util.List<E>
・java.util.Deque<E>
・java.util.Queue<E>

導入バージョン

・JDK1.2

LinkedListのAPI

【主要メソッド】
戻値型メソッド静的説明
booleanadd(Object o)リストの最後に要素oを追加する
voidadd(int i, Object o)リストi番目に要素oを挿入する
voidclear()リストの全ての要素を削除する
Objectclone()LinkedListのコピーを返す
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();

LinkedListサンプルソース

(LinkedListSample.java)

import java.util.LinkedList;

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件ずつ取り出し画面に表示する
    for (String a : ll) {
      System.out.println(a);
    }
  }
}
実行結果
C:\>java LinkedListSample X Y C C null

コメント

タイトルとURLをコピーしました