クラスAbstractSet<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
型パラメータ:
E - このセットによって保守される要素のタイプ
すべての実装されたインタフェース:
Iterable<E>, Collection<E>, Set<E>
直系の既知のサブクラス:
ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, TreeSet

public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>
このクラスは、Setインタフェースのスケルトン実装を提供し、このインタフェースの実装に必要な作業を最小限に抑えます。

このクラスを拡張してセットを実装するプロセスは、AbstractCollectionを拡張してコレクションを実装するプロセスと同じです。ただし、このクラスのサブクラス内のすべてのメソッドおよびコンストラクタは、Setインタフェース(たとえば、addメソッドでは、オブジェクトの複数のインスタンスをセットに追加することはできません)によって課される追加の制約に従う必要があります。

このクラスは、AbstractCollectionクラスの実装をオーバーライドしないことに注意してください。 単に、equalsおよびhashCodeの実装を追加します。

このクラスは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.2
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    唯一のコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    指定されたオブジェクトがセットと同じかどうかを比較します。
    int
    セットのハッシュ・コード値を返します。
    boolean
    このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。

    クラスで宣言されたメソッド AbstractCollection

    add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素がこのコレクションに格納されていることを保証します(オプションの操作)。
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクションのすべての要素をこのコレクションに追加します(オプションの操作)。
    void
    このコレクションからすべての要素を削除します(オプションの操作)。
    boolean
    このコレクションに指定した要素が含まれている場合は、trueを返します。
    boolean
    指定したコレクションのすべての要素がこのコレクションに含まれている場合、trueを返します。
    boolean
    このコレクションに要素がない場合にtrueを返します。
    abstract Iterator<E>
    このコレクション中の要素に関係するイテレータを返します。
    boolean
    指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから1つ削除します(オプションの操作)。
    boolean
    このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。
    このコレクションの要素がすべて格納されている配列を返します。
    <T> T[]
    toArray(T[] a)
    このコレクション内のすべての要素を保持する配列を返します。返される配列の実行時の型は、指定された配列の型です。
    このコレクションの文字列表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。

    インタフェースCollectionで宣言されたメソッド

    parallelStream, removeIf, stream, toArray
    修飾子と型
    メソッド
    説明
    default Stream<E>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    default boolean
    removeIf(Predicate<? super E> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    default Stream<E>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。

    インタフェースIterableで宣言されたメソッド

    forEach
    修飾子と型
    メソッド
    説明
    default void
    forEach(Consumer<? super E> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。

    インタフェースSetで宣言されたメソッド

    add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray
    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。
    void
    セットからすべての要素を削除します(オプションの操作)。
    boolean
    指定された要素がこのセットに含まれている場合にtrueを返します。
    boolean
    指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。
    boolean
    このセットに要素が1つも含まれていない場合にtrueを返します。
    セット内の各要素についてのイテレータを返します。
    boolean
    指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。
    boolean
    セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。
    int
    セット内の要素数(そのカーディナリティ)を返します。
    default Spliterator<E>
    このセット内の要素に対するSpliteratorを作成します。
    セット内のすべての要素が格納されている配列を返します。
    <T> T[]
    toArray(T[] a)
    セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。
  • コンストラクタの詳細

    • AbstractSet

      protected AbstractSet()
      唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
  • メソッドの詳細

    • equals

      public boolean equals(Object o)
      指定されたオブジェクトがセットと同じかどうかを比較します。 指定されたオブジェクトもセットで、2つのセットが同じサイズで、指定されたセットのすべてのメンバーがこのセットに含まれている場合は、trueを返します。 これにより、equalsメソッドがSetインタフェースのさまざまな実装間で正しく動作することが保証されます。

      この実装では、最初に指定されたオブジェクトがこのセットであるかどうかをチェックします。その場合は、trueを返します。 次に、指定されたオブジェクトについて、このセットと同じサイズのセットであるかどうかを調べます。指定されたオブジェクトがこのセットと同じサイズのセットではない場合はfalseを返します。 その場合、containsAll((Collection) o)が返されます。

      定義:
      equals、インタフェースCollection<E>
      定義:
      equals、インタフェースSet<E>
      オーバーライド:
      equals、クラスObject
      パラメータ:
      o - このセットと等しいかどうかが比較されるオブジェクト
      戻り値:
      指定されたオブジェクトがこのセットに等しい場合はtrue
      関連項目:
    • hashCode

      public int hashCode()
      セットのハッシュ・コード値を返します。 セットのハッシュ・コードは、セット内の要素のハッシュ・コードの合計として定義されます。ここで、null要素のハッシュ・コードはゼロとして定義されます。 これにより、s1.equals(s2)は、Object.hashCode()の一般契約で要求されるように、s1およびs2の2つのセットに対してs1.hashCode()==s2.hashCode()が暗黙的に指定されます。

      この実装は、セットに対して反復処理を行い、セット内の各要素に対してhashCodeメソッドをコールして結果を追加します。

      定義:
      hashCode、インタフェースCollection<E>
      定義:
      hashCode、インタフェースSet<E>
      オーバーライド:
      hashCode、クラス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の場合
      関連項目: