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)
このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。
|
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray, toString
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray
parallelStream, removeIf, stream
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, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。