- 型パラメータ:
E
- このセットで保持される要素の型
- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
,Set<E>
- 直系の既知のサブクラス:
ConcurrentSkipListSet
,CopyOnWriteArraySet
,EnumSet
,HashSet
,TreeSet
Set
インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。
このクラスを拡張してセットを実装するプロセスは、AbstractCollectionを拡張してCollectionを実装するプロセスと同じです。ただし、このクラスのサブクラスにあるメソッドおよびコンストラクタのすべては、Set
インタフェースによって課される追加の制限に従う必要があります。たとえば、addメソッドは、1つのオブジェクトの複数インスタンスをセットに追加する処理を許容すべきではありません。
このクラスは、AbstractCollection
クラスによる実装を一切オーバーライドしません。 単に、equals
とhashCode
の実装を追加するだけです。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.2
- 関連項目:
Collection
,AbstractCollection
,Set
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean
指定されたオブジェクトがセットと同じかどうかを比較します。int
hashCode()
セットのハッシュ・コード値を返します。boolean
removeAll(Collection<?> c)
このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。クラス java.util.AbstractCollectionで宣言されたメソッド
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
インタフェース java.util.Collectionで宣言されたメソッド
parallelStream, removeIf, stream, toArray
-
コンストラクタの詳細
-
AbstractSet
protected AbstractSet()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
equals
public boolean equals(Object o)指定されたオブジェクトがセットと同じかどうかを比較します。 指定されたオブジェクトがセットであり、2つのセットのサイズが等しく、指定されたセットのすべてのメンバーがこのセットに含まれている場合にtrue
を返します。 これにより、Set
インタフェースの実装が異なる場合でも、equals
メソッドが正しく動作することが保証されます。この実装は、指定されたオブジェクトがこのセット自身であるかどうかを最初に調べます。このセットである場合、実装は
true
を返します。 次に、指定されたオブジェクトについて、このセットと同じサイズのセットであるかどうかを調べます。指定されたオブジェクトがこのセットと同じサイズのセットではない場合はfalseを返します。 指定されたオブジェクトがこのセットと同じサイズのセットである場合は、containsAll((Collection) o)
の結果を返します。- 定義:
equals
、インタフェース:Collection<E>
- 定義:
equals
、インタフェース:Set<E>
- オーバーライド:
equals
、クラス:Object
- パラメータ:
o
- このセットと等しいかどうかが比較されるオブジェクト- 戻り値:
- 指定されたオブジェクトがこのセットに等しい場合は
true
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()セットのハッシュ・コード値を返します。 セットのハッシュ・コードは、そのセット内の要素のハッシュ・コードの合計になるように定義されています。ただし、null
要素のハッシュ・コードはゼロになるように定義されています。 これにより、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)
-
removeAll
public boolean removeAll(Collection<?> c)このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。 指定されたコレクションもセットである場合、このオペレーションは、その値が2つのセットの非対称集合差分になるようにこのセットを効率的に変更します。この実装は、
size
メソッドを呼び出して、このセットと指定されたコレクションのどちらが小さいかを判別します。 このセットの要素の方が少ない場合、実装はこのセットのイテレータが返す順に各要素が指定されたコレクション内に含まれるかどうかを確認します。 含まれていた場合、イテレータのremove
メソッドによってこのセットから要素を削除します。 指定されたコレクションの方が要素が少ない場合、実装は指定されたコレクションに対して反復を行い、イテレータによって返された各要素を、このセットのremove
メソッドを用いてセットから削除します。この実装は、
iterator
メソッドが返したイテレータがremove
メソッドを実装しない場合にUnsupportedOperationException
をスローします。- 定義:
removeAll
、インタフェース:Collection<E>
- 定義:
removeAll
、インタフェース:Set<E>
- オーバーライド:
removeAll
、クラス:AbstractCollection<E>
- パラメータ:
c
- このセットから削除される要素を含むコレクション- 戻り値:
- 呼出しの結果としてこのセットが変更された場合は
true
- 例外:
UnsupportedOperationException
-removeAll
オペレーションがこのセットでサポートされない場合ClassCastException
- このセットのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)NullPointerException
- このセットにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合- 関連項目:
AbstractCollection.remove(Object)
,AbstractCollection.contains(Object)
-