|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.AbstractCollection
このクラスは、Collection インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。
変更不可能なコレクションを実装するには、このクラスを拡張して、iterator メソッドおよび size メソッドの実装を提供します。iterator メソッドが返す反復子は、hasNext および next を実装している必要があります。
変更可能なコレクションを実装するには、上記に加えて、このクラスの add メソッドをオーバーライドすることと (オーバーライドしなかった場合は、UnsupportedOperationException がスローされる)、iterator メソッドで返される反復子が remove メソッドを実装している必要があります。
Collection インタフェースの仕様で推奨されているように、通常は、引数なしの void コンストラクタ、および引数に Collection をとるコンストラクタを提供してください。
実装の詳細については、このクラスの abstract メソッド以外の各メソッドのドキュメントを参照してください。より効率的な実装ができるコレクションの場合は、これらのメソッドをオーバーライドしてもかまいません。
Collection
コンストラクタの概要 | |
protected |
AbstractCollection()
唯一のコンストラクタです。 |
メソッドの概要 | |
boolean |
add(Object o)
指定された要素がこのコレクションに格納されていることを保証します (任意のオペレーション)。 |
boolean |
addAll(Collection c)
指定されたコレクションの要素をすべて、このコレクションに追加します (任意のオペレーション)。 |
void |
clear()
このコレクションから要素をすべて削除します (任意のオペレーション)。 |
boolean |
contains(Object o)
指定された要素がコレクションにある場合に true を返します。 |
boolean |
containsAll(Collection c)
指定されたコレクションのすべての要素がこのコレクションにある場合に true を返します。 |
boolean |
isEmpty()
このコレクションに要素がない場合に true を返します。 |
abstract Iterator |
iterator()
このコレクション中の要素に関係する反復子を返します。 |
boolean |
remove(Object o)
指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから 1 つ削除します (任意のオペレーション)。 |
boolean |
removeAll(Collection c)
このコレクションから、指定されたコレクションに含まれる要素をすべて削除します (任意のオペレーション)。 |
boolean |
retainAll(Collection c)
このコレクションの要素のうち、指定されたコレクションに含まれる要素だけを保持します (任意のオペレーション)。 |
abstract int |
size()
このコレクション中の要素の数を返します。 |
Object[] |
toArray()
このコレクションの要素がすべて格納されている配列を返します。 |
Object[] |
toArray(Object[] a)
実行時の型が指定された配列の実行時の型と同じで、このコレクションのすべての要素が格納されている配列を返します。 |
String |
toString()
このコレクションの文字列表現を返します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
protected AbstractCollection()
メソッドの詳細 |
public abstract Iterator iterator()
public abstract int size()
public boolean isEmpty()
この実装は、size() == 0 の結果を返します。
public boolean contains(Object o)
この実装はコレクションの各要素について、指定された要素と等しいかどうかを順に繰り返し確認します。
o
- このコレクションに含まれているかどうかを調べるオブジェクトpublic Object[] toArray()
この実装は、返される配列を割り当て、コレクションの各要素について繰り返します。つまり、各オブジェクト参照を配列の次の要素に格納するという処理を、第 0 要素から開始します。
public Object[] toArray(Object[] a)
指定された配列にコレクションが収まり、さらに空きがある場合、すなわち配列にコレクション以上の要素数がある場合には、コレクションの終わりの直後にある配列の要素が null に設定されます。コレクションに null 要素がないことが呼び出し側でわかっている場合には、これにより、コレクションの長さを判定できます。
コレクションの反復子が、コレクションの要素をどのような順序で返すかについて、なんらかの保証する場合は、このメソッドも同じ順序で要素を返さなければなりません。
この実装は、配列がコレクションの格納に十分な大きさであるかを確認します。不十分な場合、この実装はリフレクションを使って、適切なサイズおよび型の配列を新しく割り当てます。次に、コレクションに対して、0 から順に配列の連続する要素へ各オブジェクト参照を格納する操作を反復します。配列がコレクションよりも大きい場合、コレクションの終端より後の最初の位置に null が格納されます。
a
- コレクションの要素の格納先となる配列。大きさが十分な場合は格納を実行し、そうでない場合は、新しい配列が同じ実行時の型で作成されるpublic boolean add(Object o)
この実装は、常に UnsupportedOperationException をスローします。
o
- このコレクションに確実に存在することを保証されるべき要素public boolean remove(Object o)
この実装は、コレクションの内容を次々調べ、指定された要素を探します。要素があれば、反復子の remove メソッドを使ってコレクションから要素を削除します。
このコレクションの iterator メソッドが返す反復子に remove メソッドが実装されていない場合、この実装は UnsupportedOperationException をスローします。
o
- 存在する場合、このコレクションから削除される要素public boolean containsAll(Collection c)
この実装は指定されたコレクションの内容を次々調べ、反復子によって返された各要素について、このコレクションに含まれるかどうかを順番に確認します。すべての要素がこのコレクションにある場合は true を返し、そうでない場合は false を返します。
c
- このコレクションに含まれているかどうかを調べるコレクションcontains(Object)
public boolean addAll(Collection c)
この実装は、指定されたコレクションに対して反復を行い、反復子が返すオブジェクトをこのコレクションに順に追加していく操作を繰り返します。
add メソッドがオーバーライドされない限り、この実装は UnsupportedOperationException をスローします。
c
- 要素がこのコレクションに追加されるコレクションadd(Object)
public boolean removeAll(Collection c)
この実装はこのコレクションの内容を次々調べ、反復子によって返された各要素について、指定されたコレクションに含まれるかどうかを順番に確認します。そのような要素があれば、反復子の remove メソッドを使ってこのコレクションから削除します。
iterator メソッドで返された反復子が remove メソッドを実装していない場合、この実装は UnsupportedOperationException をスローします。
c
- このコレクションから削除される要素remove(Object)
,
contains(Object)
public boolean retainAll(Collection c)
この実装はこのコレクションの内容を次々調べ、反復子によって返された各要素について、指定されたコレクションに含まれるかどうかを順番に確認します。含まれない要素があれば、反復子の remove メソッドを使ってこのコレクションから削除します。
iterator メソッドで返される反復子が remove メソッドを実装していない場合、この実装は UnsupportedOperationException をスローします。
remove(Object)
,
contains(Object)
public void clear()
この実装はコレクションに対して、Iterator.remove オペレーションを使用して各要素を削除する操作を繰り返します。ほとんどの実装では、このメソッドをオーバーライドした方がより効率的でしょう。
このコレクションの iterator メソッドで返される反復子が remove メソッドを実装していない場合、この実装は UnsupportedOperationException をスローします。
public String toString()
この実装は空の文字列バッファを作成し、最初に左角括弧を付加してから、コレクションの内容を次々調べて、各要素の文字列表現を順に付加していきます。各要素の後には、文字列 ", " が付加されます。ただし、最後の要素の後には、", " ではなく右角括弧が付加されます。最後に文字列バッファから文字列を取得し、その文字列を返します。
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |