モジュール java.base
パッケージ java.util

インタフェースSet<E>

  • 型パラメータ:
    E - このセットで保持される要素の型
    すべてのスーパー・インタフェース:
    Collection<E>, Iterable<E>
    既知のすべてのサブインタフェース:
    EventSet, NavigableSet<E>, SortedSet<E>
    既知のすべての実装クラス:
    AbstractSet, ConcurrentHashMap.KeySetView, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet, TreeSet

    public interface Set<E>
    extends Collection<E>
    重複要素のないコレクションです。 すなわち、セットは、e1.equals(e2)であるe1e2の要素ペアは持たず、null要素を最大1つしか持ちません。 その名前が示すように、このインタフェースは、数学で言う集合の抽象化をモデル化します。

    Setインタフェースは、Collectionインタフェースから継承した規定だけでなく、すべてのコンストラクタの規約、およびaddequalshashCodeの各メソッドの規約に追加の規定を適用します。 便宜上、ほかの継承メソッドの宣言もここに含まれます。 これらの宣言に付随する仕様はSetインタフェースに合わせて調整済みですが、追加規定は含まれていません。

    コンストラクタについての追加規定として、すべてのコンストラクタは、重複要素のないセットを作成しなければなりません(上記を参照)。

    ノート: 可変オブジェクトがセット要素として使用される場合は、細心の注意が必要です。 オブジェクトがセット内の要素であるときに、equalsの比較に影響を与える方法でオブジェクトの値が変更された場合、セットの動作は保証されません。 この禁止事項の特例により、セットがそれ自体を要素として持つことは許可されません。

    セットの実装には、格納できる要素に制限があるものもあります。 たとえば、null要素を禁止する実装や、null要素の型に制限がある実装もあります。 不適格な要素を追加しようとすると、通常NullPointerExceptionまたはClassCastExceptionのような非チェック例外がスローされます。 不適格な要素を照会しようとすると、例外がスローされる場合や、ただfalseを返す場合もあります。前者の動作を実行する実装もあれば、後者の動作を実行する実装もあります。 もう少し一般的に言うと、セットへの挿入がされない不適当な要素を処理しようとすると、例外がスローされる場合や、処理が有効になる場合があります。 このインタフェースの仕様では、そうした例外は「任意」と記載されています。

    変更不可能なセット

    Set.ofおよびSet.copyOf静的ファクトリ・メソッドは、変更不可能なセットを作成する便利な方法を提供します。 これらのメソッドによって作成されたSetインスタンスには、次の特性があります:

    • 彼らはunmodifiableです。 要素を追加または削除することはできません。 Setで任意のmutatorメソッドを呼び出すと、常にUnsupportedOperationExceptionがスローされます。 ただし、含まれている要素自体が変更可能な場合は、Setが不整合に動作したり、内容が変更されたように見えることがあります。
    • それらはnull要素を許可しません。 null要素でそれらを作成しようとすると、NullPointerExceptionになります。
    • すべての要素が直列化可能な場合、これらは直列化可能です。
    • 彼らは作成時に重複する要素を拒否します。 静的ファクトリ・メソッドに渡された重複要素は、IllegalArgumentExceptionになります。
    • set要素の反復順序は不特定であり、変更される可能性があります。
    • 彼らはvalue-basedです。 呼び出し側は、返されたインスタンスのアイデンティティについては何も仮定しないでください。 ファクトリは、新しいインスタンスを作成したり既存のインスタンスを再利用することは自由です。 したがって、これらのインスタンス(参照平等(==)、アイデンティティ・ハッシュ・コード、および同期)でのアイデンティティ依存型操作は信頼性が低く、避ける必要があります。
    • それらは、「直列化されたフォーム」ページで指定されたとおりに直列化されます。

    このインタフェースは、Java Collections Frameworkのメンバーです。

    導入されたバージョン:
    1.2
    関連項目:
    Collection, List, SortedSet, HashSet, TreeSet, AbstractSet, Collections.singleton(java.lang.Object), Collections.EMPTY_SET
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 
      修飾子と型 メソッド 説明
      boolean add​(E e)
      指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。
      boolean addAll​(Collection<? extends E> c)
      指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。
      void clear()
      セットからすべての要素を削除します(オプションの操作)。
      boolean contains​(Object o)
      指定された要素がこのセットに含まれている場合にtrueを返します。
      boolean containsAll​(Collection<?> c)
      指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。
      static <E> Set<E> copyOf​(Collection<? extends E> coll)
      指定されたCollectionの要素を含む「変更不可能なセット」を返します。
      boolean equals​(Object o)
      指定されたオブジェクトがセットと同じかどうかを比較します。
      int hashCode()
      セットのハッシュ・コード値を返します。
      boolean isEmpty()
      このセットに要素が1つも含まれていない場合にtrueを返します。
      Iterator<E> iterator()
      セット内の各要素についてのイテレータを返します。
      static <E> Set<E> of()
      ゼロ要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1)
      1つの要素を含む変更不可能なセットを返します。
      static <E> Set<E> of​(E... elements)
      任意の数の要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2)
      2つの要素を含む変更不可能なセットを返します。
      static <E> Set<E> of​(E e1, E e2, E e3)
      3つの要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4)
      4つの要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5)
      5つの要素を含む変更不可能なセットを返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5, E e6)
      6つの要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5, E e6, E e7)
      7つの要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8)
      8つの要素を含む変更不可能なセットを返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9)
      9つの要素を含む変更不可能な集合を返します。
      static <E> Set<E> of​(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10)
      10個の要素を含む変更不可能なセットを返します。
      boolean remove​(Object o)
      指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。
      boolean removeAll​(Collection<?> c)
      このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。
      boolean retainAll​(Collection<?> c)
      セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。
      int size()
      セット内の要素数(そのカーディナリティ)を返します。
      default Spliterator<E> spliterator()
      このセット内の要素に対するSpliteratorを作成します。
      Object[] toArray()
      セット内のすべての要素が格納されている配列を返します。
      <T> T[] toArray​(T[] a)
      セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。
      • インタフェース java.lang.Iterableで宣言されたメソッド

        forEach
    • メソッドの詳細

      • size

        int size()
        セット内の要素数(そのカーディナリティ)を返します。 このセットにInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。
        定義:
        size、インタフェースCollection<E>
        戻り値:
        セット内の要素数(そのカーディナリティ)
      • isEmpty

        boolean isEmpty()
        このセットに要素が1つも含まれていない場合にtrueを返します。
        定義:
        isEmpty、インタフェースCollection<E>
        戻り値:
        セットに要素がない場合はtrue
      • contains

        boolean contains​(Object o)
        指定された要素がこのセットに含まれている場合にtrueを返します。 より正式には、このセットにObjects.equals(o, e)のような要素eが含まれている場合に限り、trueを返します。
        定義:
        contains、インタフェースCollection<E>
        パラメータ:
        o - このセット内にあるかどうかが判定される要素
        戻り値:
        指定された要素がこのセットに含まれている場合はtrue
        例外:
        ClassCastException - 指定された要素の型が、このセットと互換でない場合(オプション)
        NullPointerException - 指定された要素がnullで、このセットがnull要素を許可しない場合(オプション)
      • iterator

        Iterator<E> iterator()
        セット内の各要素についてのイテレータを返します。 セットが順序を保証する特定クラスのインスタンスでないかぎり、要素は特定の順序では返されません。
        定義:
        iterator、インタフェースCollection<E>
        定義:
        iterator、インタフェースIterable<E>
        戻り値:
        セットの要素のイテレータ
      • toArray

        Object[] toArray()
        セット内のすべての要素が格納されている配列を返します。 イテレータによって要素が返される順序をセットが保証する場合、このメソッドは同じ順序で要素を返さなければいけません。

        返される配列への参照をセットが維持しないという点で、この配列は安全です。 つまり、このメソッドは、セットが配列に連動している場合でも新しい配列を割り当てます。 このため、呼出し側は、返された配列を自由に変更できます。

        このメソッドは、配列ベースのAPIとコレクションベースのAPIの間の橋渡し役として機能します。

        定義:
        toArray、インタフェースCollection<E>
        戻り値:
        セット内のすべての要素を保持している配列
      • toArray

        <T> T[] toArray​(T[] a)
        セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。 セットが指定された配列に収まる場合は、その中に返されます。 そうでない場合は、指定された配列の実行時の型とセットのサイズを持つ新しい配列が割り当てられます。

        このセットが指定された配列に収まり、その配列にさらに余裕がある場合(つまり、配列がセットより多くの要素を持つ場合)、その配列内でセットの終端よりあとの要素はnullに設定されます。 このセットにnull要素がないことを呼出し側が知っている場合にだけ、この特性を利用してこのセットの長さを判断できます。

        イテレータによって要素が返される順序をセットが保証する場合、このメソッドは同じ順序で要素を返さなければいけません。

        toArray()メソッドと同じように、このメソッドは、配列ベースのAPIとコレクションベースのAPIの間の橋渡し役として機能します。 さらに、このメソッドでは出力配列の実行時の型を正確に制御できるため、環境によっては割当ての手間を抑えるために使用できます。

        xが、文字列だけからなるセットであることがわかっていると仮定します。 次のコードを使うと、新しく割り当てられたStringの配列内にセットをダンプできます。

             String[] y = x.toArray(new String[0]);
        toArray(new Object[0])は、機能の点でtoArray()と同一です。

        定義:
        toArray、インタフェースCollection<E>
        型パラメータ:
        T - コレクションを格納する配列のコンポーネント型
        パラメータ:
        a - 配列が十分な大きさを持つ場合は、このセットの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる。
        戻り値:
        セット内のすべての要素を保持している配列
        例外:
        ArrayStoreException - 指定された配列の実行時の型が、このセット内のすべての要素の実行時の型のスーパー・タイプでない場合
        NullPointerException - 指定された配列がnullである場合
      • add

        boolean add​(E e)
        指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。 より正式には、Objects.equals(e, e2)のような要素e2がセットに含まれていない場合、指定された要素eをこのセットに追加します。 このセット内にすでにその要素が含まれている場合、この呼出しはセットを変更せずにfalseを返します。 このため、コンストラクタについての制約との組み合わせにより、セットが重複要素を持たないことを保証します。

        この規定は、セットがすべての要素を受け付ける必要があることを意味するわけではありません。セットは、nullを含む特定の要素の追加を拒否して例外をスローできます(Collection.addの仕様を参照)。 セットの各実装では、セットが持つことのできる要素についての制約を明記するようにしてください。

        定義:
        add、インタフェースCollection<E>
        パラメータ:
        e - このセットに追加される要素
        戻り値:
        このセット内に、指定された要素がなかった場合はtrue
        例外:
        UnsupportedOperationException - addオペレーションがこのセットでサポートされない場合
        ClassCastException - 指定された要素のクラスが原因で、このセットにその要素を追加できない場合
        NullPointerException - 指定された要素がnullであり、このセットがnull要素を許可しない場合
        IllegalArgumentException - 指定された要素のあるプロパティが原因で、このセットにその要素を追加できない場合
      • remove

        boolean remove​(Object o)
        指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。 より正式には、Objects.equals(o, e)(このセットにこのような要素が含まれている場合)のような要素eを削除します。 その要素がこのセットに含まれていた場合、つまり、呼出しの結果としてこのセットが変更された場合はtrueを返します。 呼出しが復帰したあとは、このセットはその要素を持っていません。
        定義:
        remove、インタフェースCollection<E>
        パラメータ:
        o - このセットから削除されるオブジェクト(そのオブジェクトが存在する場合)
        戻り値:
        指定された要素がこのセットに含まれていた場合はtrue
        例外:
        ClassCastException - 指定された要素の型が、このセットと互換でない場合(オプション)
        NullPointerException - 指定された要素がnullで、このセットがnull要素を許可しない場合(オプション)
        UnsupportedOperationException - removeオペレーションがこのセットでサポートされない場合
      • containsAll

        boolean containsAll​(Collection<?> c)
        指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。 指定されたコレクションもセットである場合、指定されたセットがこのセットのサブセットであれば、このメソッドはtrueを返します。
        定義:
        containsAll、インタフェースCollection<E>
        パラメータ:
        c - このセットに含まれているかどうかがチェックされるコレクション
        戻り値:
        指定されたコレクションのすべての要素がこのセットに含まれている場合はtrue
        例外:
        ClassCastException - 指定されたコレクションの1つ以上の要素の型が、セットと互換でない場合(オプション)
        NullPointerException - 指定されたコレクションに1つ以上のnull要素が含まれており、このセットがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合
        関連項目:
        contains(Object)
      • addAll

        boolean addAll​(Collection<? extends E> c)
        指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。 指定されたコレクションもセットである場合、addAllオペレーションは、その値が2つのセットの和集合になるようにこのセットを効率的に変更します。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。
        定義:
        addAll、インタフェースCollection<E>
        パラメータ:
        c - このセットに追加される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのセットが変更された場合はtrue
        例外:
        UnsupportedOperationException - addAllオペレーションがこのセットでサポートされない場合
        ClassCastException - 指定されたコレクションの要素のクラスが原因で、このセットにその要素を追加できない場合
        NullPointerException - 指定されたコレクションに1つ以上のnull要素が含まれており、このセットがnull要素を許可しない場合、または指定されたコレクションがnullの場合
        IllegalArgumentException - 指定されたコレクションの要素のあるプロパティが原因で、このセットにその要素を追加できない場合
        関連項目:
        add(Object)
      • retainAll

        boolean retainAll​(Collection<?> c)
        セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。 つまり、セットから、指定されたコレクション内にない要素をすべて削除します。 指定されたコレクションもセットである場合、このオペレーションは、その値が2つのセットの共通部分になるようにこのセットを効率的に変更します。
        定義:
        retainAll、インタフェースCollection<E>
        パラメータ:
        c - このセットで保持される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのセットが変更された場合はtrue
        例外:
        UnsupportedOperationException - retainAllオペレーションがこのセットでサポートされない場合
        ClassCastException - このセットのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)
        NullPointerException - このセットにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合
        関連項目:
        remove(Object)
      • removeAll

        boolean removeAll​(Collection<?> c)
        このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。 指定されたコレクションもセットである場合、このオペレーションは、その値が2つのセットの非対称集合差分になるようにこのセットを効率的に変更します。
        定義:
        removeAll、インタフェースCollection<E>
        パラメータ:
        c - このセットから削除される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのセットが変更された場合はtrue
        例外:
        UnsupportedOperationException - removeAllオペレーションがこのセットでサポートされない場合
        ClassCastException - このセットのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)
        NullPointerException - このセットにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合
        関連項目:
        remove(Object), contains(Object)
      • clear

        void clear()
        セットからすべての要素を削除します(オプションの操作)。 この呼出しが戻ると、セットは空になります。
        定義:
        clear、インタフェースCollection<E>
        例外:
        UnsupportedOperationException - clearメソッドがこのセットでサポートされない場合
      • equals

        boolean equals​(Object o)
        指定されたオブジェクトがセットと同じかどうかを比較します。 指定されたオブジェクトもセットで、2つのセットが同じサイズを持ち、指定されたセットのすべてのメンバーがこのセットに含まれる場合(つまり、このセットのすべてのメンバーが指定されたセットに含まれる場合)にtrueを返します。 この定義により、equalsメソッドがセット・インタフェースのさまざまな実装で適切に動作することが保証されます。
        定義:
        equals、インタフェースCollection<E>
        オーバーライド:
        equals、クラスObject
        パラメータ:
        o - このセットと等しいかどうかが比較されるオブジェクト
        戻り値:
        指定されたオブジェクトがこのセットに等しい場合はtrue
        関連項目:
        Object.hashCode()HashMap
      • hashCode

        int hashCode()
        セットのハッシュ・コード値を返します。 セットのハッシュ・コードは、そのセット内の要素のハッシュ・コードの合計になるように定義されています。ただし、null要素のハッシュ・コードはゼロになるように定義されています。 これにより、Object.hashCode()の一般規約によって要求されるように、任意の2つのセットs1s2s1.equals(s2)であれば、s1.hashCode()==s2.hashCode()となることが保証されます。
        定義:
        hashCode、インタフェースCollection<E>
        オーバーライド:
        hashCode、クラスObject
        戻り値:
        セットのハッシュ・コード値
        関連項目:
        Object.equals(Object), equals(Object)
      • spliterator

        default Spliterator<E> spliterator()
        このセット内の要素に対するSpliteratorを作成します。

        SpliteratorSpliterator.DISTINCTを報告します。 実装は、追加の特性値の報告をドキュメント化する必要があります。

        定義:
        spliterator、インタフェースCollection<E>
        定義:
        spliterator、インタフェースIterable<E>
        実装要件:
        デフォルト実装は、セットのIteratorから遅延バインディング・スプリッテレータを作成します。 スプリッテレータは、セットのイテレータのフェイルファスト・プロパティを継承します。

        作成されたSpliteratorは、追加でSpliterator.SIZEDを報告します。

        実装上のノート:
        作成されたSpliteratorはさらにSpliterator.SUBSIZEDも報告します。
        戻り値:
        このセット内の要素に対するSpliterator
        導入されたバージョン:
        1.8
      • of

        static <E> Set<E> of()
        ゼロ要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        戻り値:
        空のSet
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1)
        1つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 単一要素
        戻り値:
        指定された要素を含むSet
        例外:
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2)
        2つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 要素が重複している場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3)
        3つの要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4)
        4つの要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5)
        5つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5,
                             E e6)
        6つの要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        e6 - 第6要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5,
                             E e6,
                             E e7)
        7つの要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        e6 - 第6要素
        e7 - 第7要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5,
                             E e6,
                             E e7,
                             E e8)
        8つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        e6 - 第6要素
        e7 - 第7要素
        e8 - 第8要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5,
                             E e6,
                             E e7,
                             E e8,
                             E e9)
        9つの要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        e6 - 第6要素
        e7 - 第7要素
        e8 - 第8要素
        e9 - 第9要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        static <E> Set<E> of​(E e1,
                             E e2,
                             E e3,
                             E e4,
                             E e5,
                             E e6,
                             E e7,
                             E e8,
                             E e9,
                             E e10)
        10個の要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なセット」を参照してください。
        型パラメータ:
        E - Set要素型
        パラメータ:
        e1 - 最初の要素
        e2 - 第2要素
        e3 - 第3要素
        e4 - 第4要素
        e5 - 第5要素
        e6 - 第6要素
        e7 - 第7要素
        e8 - 第8要素
        e9 - 第9要素
        e10 - 10番目の要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合
        導入されたバージョン:
        9
      • of

        @SafeVarargs
        static <E> Set<E> of​(E... elements)
        任意の数の要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なセット」を参照してください。
        APIのノート:
        このメソッドは、引数として単一の配列も受け入れます。 結果セットの要素型は配列のコンポーネント型になり、セットのサイズは配列の長さに等しくなります。 アレイである単一の要素を持つセットを作成するには、次の手順を実行します:
        
             String[] array = ... ;
             Set<String[]> list = Set.<String[]>of(array);
         
        これにより、代わりにSet.of(E)メソッドが呼び出されます。
        型パラメータ:
        E - Set要素型
        パラメータ:
        elements - セットに含まれる要素
        戻り値:
        指定された要素を含むSet
        例外:
        IllegalArgumentException - 重複する要素がある場合
        NullPointerException - 要素がnullの場合、または配列がnullの場合
        導入されたバージョン:
        9
      • copyOf

        static <E> Set<E> copyOf​(Collection<? extends E> coll)
        指定されたCollectionの要素を含む「変更不可能なセット」を返します。 指定されたCollectionはnullであってはならず、null要素を含んではいけません。 指定されたCollectionに重複要素が含まれている場合、重複要素の任意の要素が保持されます。 指定されたCollectionがその後に変更された場合、返されたSetはそのような変更を反映しません。
        実装上のノート:
        指定されたCollectionが「変更不可能なセット」の場合、copyOfの呼び出しは一般にコピーを作成しません。
        型パラメータ:
        E - Set要素型
        パラメータ:
        coll - 要素が描画されるCollectionはnullでなくてはなりません
        戻り値:
        与えられたCollectionの要素を含むSet
        例外:
        NullPointerException - collがnullの場合、またはnullが含まれている場合
        導入されたバージョン:
        10