JavaTM Platform
Standard Ed. 6

java.util
クラス LinkedList<E>

java.lang.Object
  上位を拡張 java.util.AbstractCollection<E>
      上位を拡張 java.util.AbstractList<E>
          上位を拡張 java.util.AbstractSequentialList<E>
              上位を拡張 java.util.LinkedList<E>
型パラメータ:
E - コレクション内に存在する要素の型
すべての実装されたインタフェース:
Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>

public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, Serializable

List インタフェースのリンクリストの実装です。リストの任意のオペレーションをすべて実装し、null を含め、すべての要素を許可します。List インタフェースを実装するほかに、LinkedList クラスは、リストの先端および終端にある要素を取得および削除したり、先端および終端に要素を挿入したりするメソッド (getremoveinsert) を提供します。これらのオペレーションを使うと、リンクリストをスタック、キュー、または 双方向キュー として使用できるようになります。

このクラスは Deque インタフェースを実装しており、addpoll に対して先入れ先出しのキューオペレーションを提供するほか、その他のスタックオペレーションや両端キューオペレーションも提供します。

すべてのオペレーションは、二重リンクリストの場合に予期されるとおりの動作をします。リストをインデックスで処理するオペレーションは、リストの先端または終端のうち、指定したインデックスに近い方からリストをトラバースします。

この実装は同期化されません。複数のスレッドが同時にリンクリストにアクセスし、それらの少なくとも 1 つが構造的にリストを変更した場合には、外部で同期をとる必要があります。構造的な変更とは 1 つ以上の要素を追加または削除するすべての処理です。 要素の値だけを変更する処理は、構造的な変更ではありません。通常、リストの同期をとるには、リストを自然にカプセル化するオブジェクトで同期をとります。 この種のオブジェクトがない場合には、Collections.synchronizedList メソッドを使用してリストを「ラップ」する必要があります。これは、リストへの偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。

List list = Collections.synchronizedList(new LinkedList(...));

このクラスの iterator および listIterator メソッドによって返される反復子は、「フェイルファスト」です。反復子の作成後に、反復子自体の remove または add メソッド以外の方法でリストが構造的に変更されると、反復子は ConcurrentModificationException をスローします。このように、並行して変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。

通常、非同期の並行変更がある場合、確かな保証を行うことは不可能なので、反復子のフェイルファストの動作を保証することはできません。フェイルファスト反復子は最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。「反復子のフェイルファストの動作はバグを検出するためにのみ使用すべきです」。

このクラスは、Java Collections Framework のメンバーです。

導入されたバージョン:
1.2
関連項目:
List, ArrayList, Vector, 直列化された形式

フィールドの概要
 
クラス java.util.AbstractList から継承されたフィールド
modCount
 
コンストラクタの概要
LinkedList()
          空のリストを作成します。
LinkedList(Collection<? extends E> c)
          指定されたコレクションの要素が含まれているリストを、要素がコレクションの反復子によって返される順序で作成します。
 
メソッドの概要
 boolean add(E e)
          リストの最後に、指定された要素を追加します。
 void add(int index, E element)
          リスト内の指定された位置に指定された要素を挿入します。
 boolean addAll(Collection<? extends E> c)
          指定されたコレクション内のすべての要素を、指定されたコレクションの反復子によって返される順序でリストの最後に追加します。
 boolean addAll(int index, Collection<? extends E> c)
          指定されたコレクション内のすべての要素を、リストの指定された位置に挿入します。
 void addFirst(E e)
          リストの先頭に、指定された要素を挿入します。
 void addLast(E e)
          リストの最後に、指定された要素を追加します。
 void clear()
          リストからすべての要素を削除します。
 Object clone()
          LinkedList のシャローコピーを返します。
 boolean contains(Object o)
          リストに指定された要素がある場合に true を返します。
 Iterator<E> descendingIterator()
          この両端キュー内の要素を逆順で繰り返し処理する反復子を返します。
 E element()
          このリストの先頭 (最初の要素) を取得しますが、削除はしません。
 E get(int index)
          リスト内の指定された位置にある要素を返します。
 E getFirst()
          リスト内の最初の要素を返します。
 E getLast()
          リスト内の最後の要素を返します。
 int indexOf(Object o)
          指定された要素がリスト内で最初に検出された位置のインデックスを返します。
 int lastIndexOf(Object o)
          指定された要素がリスト内で最後に検出された位置のインデックスを返します。
 ListIterator<E> listIterator(int index)
          リスト内の指定された位置で始まる、リスト内の要素を適切な順序で反復するリスト反復子を返します。
 boolean offer(E e)
          指定された要素をこのリストの末尾 (最後の要素) に追加します。
 boolean offerFirst(E e)
          リストの先頭に、指定された要素を挿入します。
 boolean offerLast(E e)
          リストの末尾に、指定された要素を挿入します。
 E peek()
          このリストの先頭 (最初の要素) を取得しますが、削除はしません。
 E peekFirst()
          リストの最初の要素を取得しますが、削除しません。
 E peekLast()
          リストの最後の要素を取得しますが、削除しません。
 E poll()
          このリストの先頭 (最初の要素) 取得し、削除します。
 E pollFirst()
          リストの最初の要素を取得および削除します。
 E pollLast()
          リストの最後の要素を取得および削除します。
 E pop()
          このリストが表すスタックから要素をポップします。
 void push(E e)
          このリストが表すスタック上に要素をプッシュします。
 E remove()
          このリストの先頭 (最初の要素) 取得し、削除します。
 E remove(int index)
          リストの指定された位置にある要素を削除します。
 boolean remove(Object o)
          指定された要素がこのリストにあれば、その最初のものをリストから削除します。
 E removeFirst()
          リストから最初の要素を削除して返します。
 boolean removeFirstOccurrence(Object o)
          このリスト内で最初に検出された、指定された要素を削除します (リストを先頭から末尾の方向にトラバースした場合)。
 E removeLast()
          リストから最後の要素を削除して返します。
 boolean removeLastOccurrence(Object o)
          このリスト内で最後に検出された、指定された要素を削除します (リストを先頭から末尾の方向にトラバースした場合)。
 E set(int index, E element)
          リストの指定された位置にある要素を、指定された要素で置き換えます。
 int size()
          リスト内にある要素の数を返します。
 Object[] toArray()
          リスト内のすべての要素を適切な順序で (最初の要素から最後の要素へ) 格納している配列を返します。
<T> T[]
toArray(T[] 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
 
インタフェース java.util.List から継承されたメソッド
containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, retainAll, subList
 
インタフェース java.util.Deque から継承されたメソッド
iterator
 

コンストラクタの詳細

LinkedList

public LinkedList()
空のリストを作成します。


LinkedList

public LinkedList(Collection<? extends E> c)
指定されたコレクションの要素が含まれているリストを、要素がコレクションの反復子によって返される順序で作成します。

パラメータ:
c - 要素がリストに配置されるコレクション
例外:
NullPointerException - 指定されたコレクションが null である場合
メソッドの詳細

getFirst

public E getFirst()
リスト内の最初の要素を返します。

定義:
インタフェース Deque<E> 内の getFirst
戻り値:
リスト内の最初の要素
例外:
NoSuchElementException - リストが空の場合

getLast

public E getLast()
リスト内の最後の要素を返します。

定義:
インタフェース Deque<E> 内の getLast
戻り値:
リスト内の最後の要素
例外:
NoSuchElementException - リストが空の場合

removeFirst

public E removeFirst()
リストから最初の要素を削除して返します。

定義:
インタフェース Deque<E> 内の removeFirst
戻り値:
リストからの最初の要素
例外:
NoSuchElementException - リストが空の場合

removeLast

public E removeLast()
リストから最後の要素を削除して返します。

定義:
インタフェース Deque<E> 内の removeLast
戻り値:
リストからの最後の要素
例外:
NoSuchElementException - リストが空の場合

addFirst

public void addFirst(E e)
リストの先頭に、指定された要素を挿入します。

定義:
インタフェース Deque<E> 内の addFirst
パラメータ:
e - 追加する要素

addLast

public void addLast(E e)
リストの最後に、指定された要素を追加します。

このメソッドは、add(E) と同等です。

定義:
インタフェース Deque<E> 内の addLast
パラメータ:
e - 追加する要素

contains

public boolean contains(Object o)
リストに指定された要素がある場合に true を返します。つまり、リストに、(o==null ? e==null : o.equals(e)) となる要素 e が 1 つ以上含まれている場合にだけ true を返します。

定義:
インタフェース Collection<E> 内の contains
定義:
インタフェース Deque<E> 内の contains
定義:
インタフェース List<E> 内の contains
オーバーライド:
クラス AbstractCollection<E> 内の contains
パラメータ:
o - リストにあるかどうかを調べる要素
戻り値:
リストが、指定された要素を保持している場合は true

size

public int size()
リスト内にある要素の数を返します。

定義:
インタフェース Collection<E> 内の size
定義:
インタフェース Deque<E> 内の size
定義:
インタフェース List<E> 内の size
定義:
クラス AbstractCollection<E> 内の size
戻り値:
リスト内の要素数

add

public boolean add(E e)
リストの最後に、指定された要素を追加します。

このメソッドは、addLast(E) と同等です。

定義:
インタフェース Collection<E> 内の add
定義:
インタフェース Deque<E> 内の add
定義:
インタフェース List<E> 内の add
定義:
インタフェース Queue<E> 内の add
オーバーライド:
クラス AbstractList<E> 内の add
パラメータ:
e - リストに追加される要素
戻り値:
true (Collection.add(E) で指定されているとおり)

remove

public boolean remove(Object o)
指定された要素がこのリストにあれば、その最初のものをリストから削除します。リストにその要素がない場合は、変更されません。つまり、(o==null ? get(i)==null : o.equals(get(i))) となる、最小のインデックス値 i を持つ要素を削除します (そのような要素が存在する場合)。指定された要素がリストに含まれていた場合、つまり、呼び出しの結果としてリストが変更された場合に true を返します。

定義:
インタフェース Collection<E> 内の remove
定義:
インタフェース Deque<E> 内の remove
定義:
インタフェース List<E> 内の remove
オーバーライド:
クラス AbstractCollection<E> 内の remove
パラメータ:
o - リストから削除される要素 (その要素が存在する場合)
戻り値:
リストが、指定された要素を保持している場合は true

addAll

public boolean addAll(Collection<? extends E> c)
指定されたコレクション内のすべての要素を、指定されたコレクションの反復子によって返される順序でリストの最後に追加します。オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。つまり、指定されたコレクションがこのリストで、しかも空ではない場合に起こります。

定義:
インタフェース Collection<E> 内の addAll
定義:
インタフェース List<E> 内の addAll
オーバーライド:
クラス AbstractCollection<E> 内の addAll
パラメータ:
c - 要素がリストに追加されるコレクション
戻り値:
この呼び出しの結果、このリストが変更された場合は true
例外:
NullPointerException - 指定されたコレクションが null である場合
関連項目:
AbstractCollection.add(Object)

addAll

public boolean addAll(int index,
                      Collection<? extends E> c)
指定されたコレクション内のすべての要素を、リストの指定された位置に挿入します。その位置とそれ以降に要素がある場合は、それらを右に移動して、各要素のインデックスに 1 を加えます。新しい要素は、指定されたコレクションの反復子によって返される順番でリストに挿入されます。

定義:
インタフェース List<E> 内の addAll
オーバーライド:
クラス AbstractSequentialList<E> 内の addAll
パラメータ:
index - 指定されたコレクションの最初の要素を挿入する位置のインデックス
c - 要素がリストに追加されるコレクション
戻り値:
この呼び出しの結果、このリストが変更された場合は true
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())
NullPointerException - 指定されたコレクションが null である場合

clear

public void clear()
リストからすべての要素を削除します。

定義:
インタフェース Collection<E> 内の clear
定義:
インタフェース List<E> 内の clear
オーバーライド:
クラス AbstractList<E> 内の clear

get

public E get(int index)
リスト内の指定された位置にある要素を返します。

定義:
インタフェース List<E> 内の get
オーバーライド:
クラス AbstractSequentialList<E> 内の get
パラメータ:
index - 返される要素のインデックス
戻り値:
リスト内の指定された位置にある要素
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())

set

public E set(int index,
             E element)
リストの指定された位置にある要素を、指定された要素で置き換えます。

定義:
インタフェース List<E> 内の set
オーバーライド:
クラス AbstractSequentialList<E> 内の set
パラメータ:
index - 置換される要素のインデックス
element - 指定された位置に格納される要素
戻り値:
指定された位置に以前あった要素
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())

add

public void add(int index,
                E element)
リスト内の指定された位置に指定された要素を挿入します。その位置とそれ以降に要素があればそれらを右に移動させ、各要素のインデックスに 1 を加えます。

定義:
インタフェース List<E> 内の add
オーバーライド:
クラス AbstractSequentialList<E> 内の add
パラメータ:
index - 指定の要素が挿入される位置のインデックス
element - 挿入される要素
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())

remove

public E remove(int index)
リストの指定された位置にある要素を削除します。後続の要素は左に移動します (インデックス値から 1 を減算)。リストから削除された要素が返されます。

定義:
インタフェース List<E> 内の remove
オーバーライド:
クラス AbstractSequentialList<E> 内の remove
パラメータ:
index - 削除される要素のインデックス
戻り値:
指定された位置に以前あった要素
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())

indexOf

public int indexOf(Object o)
指定された要素がリスト内で最初に検出された位置のインデックスを返します。 指定された要素がリストにない場合は -1 を返します。つまり、(o==null ? get(i)==null : o.equals(get(i))) となる、最小のインデックス i を返します。そのようなインデックスが存在しない場合は -1 を返します。

定義:
インタフェース List<E> 内の indexOf
オーバーライド:
クラス AbstractList<E> 内の indexOf
パラメータ:
o - 検索する要素
戻り値:
指定された要素がリスト内で最初に検出された位置のインデックス。その要素がリストにない場合は -1

lastIndexOf

public int lastIndexOf(Object o)
指定された要素がリスト内で最後に検出された位置のインデックスを返します。 指定された要素がリストにない場合は -1 を返します。つまり、(o==null ? get(i)==null : o.equals(get(i))) となる、最大のインデックス i を返します。そのようなインデックスが存在しない場合は -1 を返します。

定義:
インタフェース List<E> 内の lastIndexOf
オーバーライド:
クラス AbstractList<E> 内の lastIndexOf
パラメータ:
o - 検索する要素
戻り値:
指定された要素がリスト内で最後に検出された位置のインデックス。その要素がリストにない場合は -1

peek

public E peek()
このリストの先頭 (最初の要素) を取得しますが、削除はしません。

定義:
インタフェース Deque<E> 内の peek
定義:
インタフェース Queue<E> 内の peek
戻り値:
リストの先頭。リストが空の場合は null
導入されたバージョン:
1.5

element

public E element()
このリストの先頭 (最初の要素) を取得しますが、削除はしません。

定義:
インタフェース Deque<E> 内の element
定義:
インタフェース Queue<E> 内の element
戻り値:
リストの先頭
例外:
NoSuchElementException - リストが空の場合
導入されたバージョン:
1.5

poll

public E poll()
このリストの先頭 (最初の要素) 取得し、削除します。

定義:
インタフェース Deque<E> 内の poll
定義:
インタフェース Queue<E> 内の poll
戻り値:
リストの先頭。リストが空の場合は null
導入されたバージョン:
1.5

remove

public E remove()
このリストの先頭 (最初の要素) 取得し、削除します。

定義:
インタフェース Deque<E> 内の remove
定義:
インタフェース Queue<E> 内の remove
戻り値:
リストの先頭
例外:
NoSuchElementException - リストが空の場合
導入されたバージョン:
1.5

offer

public boolean offer(E e)
指定された要素をこのリストの末尾 (最後の要素) に追加します。

定義:
インタフェース Deque<E> 内の offer
定義:
インタフェース Queue<E> 内の offer
パラメータ:
e - 追加する要素
戻り値:
true (Queue.offer(E) で指定されているとおり)
導入されたバージョン:
1.5

offerFirst

public boolean offerFirst(E e)
リストの先頭に、指定された要素を挿入します。

定義:
インタフェース Deque<E> 内の offerFirst
パラメータ:
e - 挿入される要素
戻り値:
true (Deque.offerFirst(E) で指定されているとおり)
導入されたバージョン:
1.6

offerLast

public boolean offerLast(E e)
リストの末尾に、指定された要素を挿入します。

定義:
インタフェース Deque<E> 内の offerLast
パラメータ:
e - 挿入される要素
戻り値:
true (Deque.offerLast(E) で指定されているとおり)
導入されたバージョン:
1.6

peekFirst

public E peekFirst()
リストの最初の要素を取得しますが、削除しません。リストが空の場合は null を返します。

定義:
インタフェース Deque<E> 内の peekFirst
戻り値:
リストの最初の要素。リストが空の場合は null
導入されたバージョン:
1.6

peekLast

public E peekLast()
リストの最後の要素を取得しますが、削除しません。リストが空の場合は null を返します。

定義:
インタフェース Deque<E> 内の peekLast
戻り値:
リストの最後の要素。リストが空の場合は null
導入されたバージョン:
1.6

pollFirst

public E pollFirst()
リストの最初の要素を取得および削除します。リストが空の場合は null を返します。

定義:
インタフェース Deque<E> 内の pollFirst
戻り値:
リストの最初の要素。リストが空の場合は null
導入されたバージョン:
1.6

pollLast

public E pollLast()
リストの最後の要素を取得および削除します。リストが空の場合は null を返します。

定義:
インタフェース Deque<E> 内の pollLast
戻り値:
リストの最後の要素。リストが空の場合は null
導入されたバージョン:
1.6

push

public void push(E e)
このリストが表すスタック上に要素をプッシュします。つまり、このリストの先頭に要素を挿入します。

このメソッドは、addFirst(E) と同等です。

定義:
インタフェース Deque<E> 内の push
パラメータ:
e - プッシュする要素
導入されたバージョン:
1.6

pop

public E pop()
このリストが表すスタックから要素をポップします。つまり、このリストの最初の要素を削除して返します。

このメソッドは、removeFirst() と同等です。

定義:
インタフェース Deque<E> 内の pop
戻り値:
このリストの先頭の要素 (このリストが表すスタックの一番上)
例外:
NoSuchElementException - リストが空の場合
導入されたバージョン:
1.6

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)
このリスト内で最初に検出された、指定された要素を削除します (リストを先頭から末尾の方向にトラバースした場合)。その要素がリストにない場合、変更はありません。

定義:
インタフェース Deque<E> 内の removeFirstOccurrence
パラメータ:
o - リストから削除される要素 (その要素が存在する場合)
戻り値:
リストに、指定された要素が格納されている場合は true
導入されたバージョン:
1.6

removeLastOccurrence

public boolean removeLastOccurrence(Object o)
このリスト内で最後に検出された、指定された要素を削除します (リストを先頭から末尾の方向にトラバースした場合)。その要素がリストにない場合、変更はありません。

定義:
インタフェース Deque<E> 内の removeLastOccurrence
パラメータ:
o - リストから削除される要素 (その要素が存在する場合)
戻り値:
リストに、指定された要素が格納されている場合は true
導入されたバージョン:
1.6

listIterator

public ListIterator<E> listIterator(int index)
リスト内の指定された位置で始まる、リスト内の要素を適切な順序で反復するリスト反復子を返します。List.listIterator(int) の一般規約に従います。

リスト反復子は「フェイルファスト」です。反復子の作成後にリスト反復子自体の remove または add メソッド以外の方法でリストが構造的に変更されると、リスト反復子は ConcurrentModificationException をスローします。このように、並行して変更が行われると、反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。

定義:
インタフェース List<E> 内の listIterator
定義:
クラス AbstractSequentialList<E> 内の listIterator
パラメータ:
index - リスト反復子から (next 呼び出しによって) 返される最初の要素のインデックス
戻り値:
リスト内の要素を適切な順序で繰り返し処理する、リスト内の指定された位置から開始するリスト反復子
例外:
IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())
関連項目:
List.listIterator(int)

descendingIterator

public Iterator<E> descendingIterator()
インタフェース Deque の記述:
この両端キュー内の要素を逆順で繰り返し処理する反復子を返します。要素は最後 (末尾) から最初 (先頭) の順に返されます。

定義:
インタフェース Deque<E> 内の descendingIterator
戻り値:
この両端キュー内の要素を逆順で繰り返し処理する反復子
導入されたバージョン:
1.6

clone

public Object clone()
LinkedList のシャローコピーを返します。その要素は複製されません。

オーバーライド:
クラス Object 内の clone
戻り値:
この LinkedList のインスタンスのシャローコピー
関連項目:
Cloneable

toArray

public Object[] toArray()
リスト内のすべての要素を適切な順序で (最初の要素から最後の要素へ) 格納している配列を返します。

返される配列への参照をこのリストが維持しないという点で、この配列は安全です。(つまり、このメソッドは新しい配列を割り当てる)。このため、呼び出し側は、返された配列を自由に変更できます。

メソッドは、配列ベースの API とコレクションベースの API の間の橋渡し役として機能します。

定義:
インタフェース Collection<E> 内の toArray
定義:
インタフェース List<E> 内の toArray
オーバーライド:
クラス AbstractCollection<E> 内の toArray
戻り値:
リスト内のすべての要素を適切な順序で格納している配列
関連項目:
Arrays.asList(Object[])

toArray

public <T> T[] toArray(T[] a)
リスト内のすべての要素を適切な順序で (最初の要素から最後の要素へ) 格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。指定された配列にリストが収まる場合は、その配列に返されます。それ以外の場合は、指定された配列の実行時の型とリストのサイズを使って新しい配列が割り当てられます。

指定された配列にリストが収まり、その配列にさらに余分な領域がある場合、つまり配列にリストより多くの要素がある場合、配列でリストの末尾に続く要素は null に設定されます。(これは、呼び出し側がリストに null 要素が含まれていないことがわかっている場合には、リストの長さを判定するのに利用できる。)

toArray() メソッドと同じように、このメソッドは、配列ベースの API とコレクションベースの API の間の橋渡し役として機能します。さらに、このメソッドでは、出力配列の実行時の型を正確に制御できるため、環境によっては割り当ての手間を抑えることができます。

x が、文字列だけからなるリストであることがわかっていると仮定します。次のコードを使うと、新しく割り当てられた String の配列にリストをダンプできます。

String[] y = x.toArray(new String[0]);
toArray(new Object[0]) は、機能の点で toArray() と同一です。

定義:
インタフェース Collection<E> 内の toArray
定義:
インタフェース List<E> 内の toArray
オーバーライド:
クラス AbstractCollection<E> 内の toArray
パラメータ:
a - リストの要素の格納先となる配列 (ただし十分に大きい場合)。それ以外の場合、この目的のために同じ実行時の型の新しい配列が割り当てられる
戻り値:
リストの要素が格納されている配列
例外:
ArrayStoreException - 指定された配列の実行時の型が、リスト内の各要素の実行時の型のスーパータイプでない場合
NullPointerException - 指定された配列が null である場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。