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
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
boolean | add(Object o) | リストの最後に要素oを追加する | |
void | add(int i, Object o) | リストi番目に要素oを挿入する | |
void | clear() | リストの全ての要素を削除する | |
Object | clone() | LinkedListのコピーを返す | |
boolean | contains(Object o) | リスト中に要素oが存在するかどうかを判断する | |
E | get(int i) | リストのi番目の要素を返す | |
int | indexOf(Object o) | 要素oがリスト内で最初に出現するインデックスを返す (見つからない場合は-1が返る) | |
boolean | isEmpty() | リストが空かどうかを判断する | |
int | lastIndexOf(Object o) | 要素oがリスト内で最後に出現するインデックスを返す (見つからない場合は-1が返る) | |
E | remove(int i) | リストのi番目の要素を削除する (戻り値には削除した要素が返る) | |
E | set(int i, Object o) | リストのi番目の要素を要素oに置き換える (戻り値には置き換える前の要素が返る) | |
int | size() | リストの要素数を返す | |
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
コメント