|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.AbstractCollection | +--java.util.AbstractList | +--java.util.AbstractSequentialList | +--java.util.LinkedList
List インタフェースのリンクリストの実装です。リストの任意のオペレーションをすべて実装し、null を含め、すべての要素を許可します。List インタフェースを実装するほかに、LinkedList クラスは、リストの先端および終端にある要素を取得および削除したり、先端および終端に要素を挿入したりするメソッド (get、remove、insert) を提供します。これらのオペレーションを使うと、リンクリストをスタック、キュー、または両端キュー (デキュー) として使用できるようになります。
すべての stack/queue/deque オペレーションはリストの標準のオペレーションによって簡単に作成し直すことができます。これらのオペレーションは、対応する List のオペレーションより多少高速な場合もありますが、おもに便宜上の理由で含まれています。
すべてのオペレーションは、二重リンクリストの場合に予期されるとおりの動作をします。リストをインデックスで処理するオペレーションは、先端または終端のうち、指定したインデックスに近い方からリストをたどります。
この実装は同期化されません。複数のスレッドが同時にリストにアクセスし、それらの少なくとも 1 つが構造的にリストを変更した場合には、外部で同期をとる必要があります。構造的な変更とは 1 つ以上の要素を追加または削除するすべての処理です。要素の値だけを変更する処理は、構造的な変更ではありません。通常、リストの同期をとるには、リストを自然にカプセル化するオブジェクトで同期をとります。そのようなオブジェクトがない場合には、Collections.synchronizedList メソッドを使って「ラップ」します。これは、リストへの偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。
List list = Collections.synchronizedList(new LinkedList(...));
このクラスの iterator および listIterator メソッドによって返される反復子は 「フェイルファスト」です。反復子の作成後に、反復子自体の remove または add メソッド以外の方法でリストが構造的に変更されると、反復子は ConcurrentModificationException をスローします。したがって、同時変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、速やかにかつクリーンに失敗します。
List
,
ArrayList
,
Vector
,
Collections.synchronizedList(List)
, 直列化された形式クラス java.util.AbstractList から継承したフィールド |
modCount |
コンストラクタの概要 | |
LinkedList()
空のリストを作成します。 |
|
LinkedList(Collection c)
指定されたコレクションの要素が含まれているリストを、要素がコレクションの反復子によって返される順序で作成します。 |
メソッドの概要 | |
void |
add(int index,
Object element)
リストの指定された位置に、指定された要素を挿入します。 |
boolean |
add(Object o)
リストの最後に、指定された要素を追加します。 |
boolean |
addAll(Collection c)
指定されたコレクション内のすべての要素を、指定されたコレクションの反復子によって返される順序でリストの最後に追加します。 |
boolean |
addAll(int index,
Collection c)
指定されたコレクション内のすべての要素を、リストの指定された位置に挿入します。 |
void |
addFirst(Object o)
リストの先頭に、指定された要素を挿入します。 |
void |
addLast(Object o)
リストの最後に、指定された要素を追加します。 |
void |
clear()
リストからすべての要素を削除します。 |
Object |
clone()
LinkedList のシャローコピーを返します。 |
boolean |
contains(Object o)
指定された要素がリスト含まれている場合に true を返します。 |
Object |
get(int index)
リストの指定された位置にある要素を返します。 |
Object |
getFirst()
リスト内の最初の要素を返します。 |
Object |
getLast()
リスト内の最後の要素を返します。 |
int |
indexOf(Object o)
リスト内で指定された要素が最初に検出された位置のインデックスを返します。 |
int |
lastIndexOf(Object o)
リスト内で指定された要素が最後に検出された位置のインデックスを返します。 |
ListIterator |
listIterator(int index)
リスト内の指定された位置で始まる、リスト内の要素を適切な順序で反復するリスト反復子を返します。 |
Object |
remove(int index)
リストの指定された位置にある要素を削除します。 |
boolean |
remove(Object o)
リスト内で最初に検出された、指定要素を削除します。 |
Object |
removeFirst()
リストから最初の要素を削除して返します。 |
Object |
removeLast()
リストから最後の要素を削除して返します。 |
Object |
set(int index,
Object element)
リストの指定された位置にある要素を、指定された要素で置き換えます。 |
int |
size()
リスト内にある要素の数を返します。 |
Object[] |
toArray()
リスト内のすべての要素が正しい順序で格納されている配列を返します。 |
Object[] |
toArray(Object[] a)
リスト内のすべての要素が正しい順序で格納されている配列を返します。 |
クラス java.util.AbstractSequentialList から継承したメソッド |
iterator |
クラス java.util.AbstractList から継承したメソッド |
equals,
hashCode,
listIterator,
removeRange,
subList |
クラス java.util.AbstractCollection から継承したメソッド |
containsAll,
isEmpty,
removeAll,
retainAll,
toString |
クラス java.lang.Object から継承したメソッド |
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
public LinkedList()
public LinkedList(Collection c)
メソッドの詳細 |
public Object getFirst()
public Object getLast()
public Object removeFirst()
public Object removeLast()
public void addFirst(Object o)
public void addLast(Object o)
public boolean contains(Object o)
o
- リスト内にあるかどうかを判定する要素public int size()
public boolean add(Object o)
o
- リストに追加する要素public boolean remove(Object o)
o
- リストから削除する要素 (存在する場合)public boolean addAll(Collection c)
index
- 指定されたコレクションの先端にある要素の挿入先のインデックスc
- リストに挿入する要素public boolean addAll(int index, Collection c)
index
- 指定されたコレクションの先端にある要素の挿入先のインデックスc
- リストに挿入する要素public void clear()
public Object get(int index)
index
- 返される要素のインデックスpublic Object set(int index, Object element)
index
- 置き換える要素のインデックスelement
- 指定された位置に格納される要素public void add(int index, Object element)
index
- 指定された要素を挿入する位置のインデックスelement
- 挿入される要素public Object remove(int index)
index
- 返される要素のインデックスpublic int indexOf(Object o)
o
- 検索する要素public int lastIndexOf(Object o)
o
- 検索する要素public ListIterator listIterator(int index)
リスト反復子は「フェイルファスト」です。反復子の作成後にリスト反復子自体の remove または add メソッド以外の方法でリストが構造的に変更されると、リスト反復子は ConcurrentModificationException をスローします。したがって、同時変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、速やかにかつクリーンに失敗します。
index
- next の呼び出しによってリスト反復子から返される最初の要素のインデックスList.listIterator(int)
public Object clone()
public Object[] toArray()
public Object[] toArray(Object[] a)
指定された配列にリストが収まってもさらにスペースがある場合、つまり配列にリストより多くの要素がある場合は、コレクションの最後の直後にある配列内の要素は null に設定されます。これは、呼び出し側がリストに null 要素が含まれていないことを知っている場合には、リストの長さを判定するのに利用できます。
a
- 配列が十分な大きさを持つ場合は、リストの要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |