- 型パラメータ:
E
- このセットで保持される要素の型
- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
,Set<E>
- 直系の既知のサブクラス:
ConcurrentSkipListSet
,CopyOnWriteArraySet
,EnumSet
,HashSet
,TreeSet
Set
インタフェースのスケルトン実装を提供し、このインタフェースの実装に必要な作業を最小限に抑えます。
このクラスを拡張してセットを実装するプロセスは、AbstractCollectionを拡張してコレクションを実装するプロセスと同じです。ただし、このクラスのサブクラス内のすべてのメソッドおよびコンストラクタは、Set
インタフェース(たとえば、addメソッドでは、オブジェクトの複数のインスタンスをセットに追加することはできません)によって課される追加の制約に従う必要があります。
このクラスは、AbstractCollection
クラスの実装をオーバーライドしないことに注意してください。 単に、equals
およびhashCode
の実装を追加します。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明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
を返します。 これにより、equals
メソッドがSet
インタフェースのさまざまな実装間で正しく動作することが保証されます。この実装では、最初に指定されたオブジェクトがこのセットであるかどうかをチェックします。その場合は、
true
を返します。 次に、指定されたオブジェクトについて、このセットと同じサイズのセットであるかどうかを調べます。指定されたオブジェクトがこのセットと同じサイズのセットではない場合はfalseを返します。 その場合、containsAll((Collection) o)
が返されます。 -
hashCode
public int hashCode()セットのハッシュ・コード値を返します。 セットのハッシュ・コードは、セット内の要素のハッシュ・コードの合計として定義されます。ここで、null
要素のハッシュ・コードはゼロとして定義されます。 これにより、s1.equals(s2)
は、Object.hashCode()
の一般契約で要求されるように、s1
およびs2
の2つのセットに対してs1.hashCode()==s2.hashCode()
が暗黙的に指定されます。この実装は、セットに対して反復処理を行い、セット内の各要素に対して
hashCode
メソッドをコールして結果を追加します。 -
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の場合- 関連項目:
-