E
- このセットで保持される要素の型public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>
このクラスを拡張してセットを実装するプロセスは、AbstractCollection を拡張して Collection を実装するプロセスと同じです。ただし、このクラスのサブクラスにあるメソッドおよびコンストラクタのすべては、Set インタフェースによって課される追加の制限に従う必要があります。たとえば、add メソッドは、1 つのオブジェクトの複数インスタンスをセットに追加する処理を許容すべきではありません。
このクラスは、AbstractCollection クラスによる実装を一切オーバーライドしません。単に、equals と hashCode の実装を追加するだけです。
このクラスは、Java Collections Framework のメンバーです。
Collection
, AbstractCollection
, Set
修飾子 | コンストラクタと説明 |
---|---|
protected |
AbstractSet()
唯一のコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object o)
指定されたオブジェクトがセットと同じかどうかを比較します。
|
int |
hashCode()
セットのハッシュコード値を返します。
|
boolean |
removeAll(Collection<?> c)
このセットから、指定されたコレクションに含まれる要素をすべて削除します (オプションの操作)。
|
public boolean equals(Object o)
この実装は、指定されたオブジェクトがこのセット自身であるかどうかを最初に調べます。このセットである場合、実装は true を返します。次に、指定されたオブジェクトについて、このセットと同じサイズのセットであるかどうかを調べます。指定されたオブジェクトがこのセットと同じサイズのセットではない場合は false を返します。指定されたオブジェクトがこのセットと同じサイズのセットである場合は、containsAll((Collection) o) の結果を返します。
equals
、インタフェース: Collection<E>
equals
、インタフェース: Set<E>
equals
、クラス: Object
o
- このセットと等しいかどうかが比較されるオブジェクトObject.hashCode()
, HashMap
public int hashCode()
Object.hashCode()
の一般規約によって要求されるように、任意の 2 つのセット s1 と s2 で s1.equals(s2) であれば、s1.hashCode()==s2.hashCode() となることが保証されます。
この実装は、セットの各要素に対して hashCode メソッドを呼び出して、セットに対して繰り返し処理を行い、結果を加算していきます。
hashCode
、インタフェース: Collection<E>
hashCode
、インタフェース: Set<E>
hashCode
、クラス: Object
Object.equals(Object)
, Set.equals(Object)
public boolean removeAll(Collection<?> c)
この実装は、size メソッドを呼び出して、このセットと指定されたコレクションのどちらが小さいかを判別します。このセットの要素の方が少ない場合、実装はこのセットのイテレータが返す順に各要素が指定されたコレクション内に含まれるかどうかを確認します。含まれていた場合、イテレータの remove メソッドによってこのセットから要素を削除します。指定されたコレクションの方が要素が少ない場合、実装は指定されたコレクションに対して反復を行い、イテレータによって返された各要素を、このセットの remove メソッドを用いてセットから削除します。
この実装は、iterator メソッドが返したイテレータが remove メソッドを実装しない場合に UnsupportedOperationException をスローします。
removeAll
、インタフェース: Collection<E>
removeAll
、インタフェース: Set<E>
removeAll
、クラス: AbstractCollection<E>
c
- このセットから削除される要素を含むコレクションUnsupportedOperationException
- removeAll オペレーションがこのセットでサポートされない場合ClassCastException
- このセットのある要素のクラスが、指定されたコレクションと互換でない場合 (オプション)NullPointerException
- このセットに null 要素が含まれており、指定されたコレクションが null 要素を許可しない場合 (オプション)、または指定されたコレクションが null の場合AbstractCollection.remove(Object)
, AbstractCollection.contains(Object)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.