インタフェースSet<E>
- 型パラメータ:
E- このセットによって保守される要素のタイプ
- すべてのスーパー・インタフェース:
Collection<E>,Iterable<E>
- 既知のすべてのサブインタフェース:
EventSet,NavigableSet<E>,SequencedSet<E>,SortedSet<E>
- 既知のすべての実装クラス:
AbstractSet,ConcurrentHashMap.KeySetView,ConcurrentSkipListSet,CopyOnWriteArraySet,EnumSet,HashSet,JobStateReasons,LinkedHashSet,TreeSet
e1.equals(e2)であるe1とe2の要素ペアは持たず、null要素を最大1つしか持ちません。 その名前が示すように、このインタフェースは、数学で言う集合の抽象化をモデル化します。
Setインタフェースは、Collectionインタフェースから継承されたもの以外に、すべてのコンストラクタの契約およびadd、equalsおよびhashCodeメソッドの契約に追加の規定を配置します。 便宜上、ほかの継承メソッドの宣言もここに含まれます。 (これらの宣言に付随する仕様は、Setインタフェースに合せて調整されていますが、追加の規定は含まれていません。)
コンストラクタについての追加規定として、すべてのコンストラクタは、重複要素のないセットを作成しなければなりません(上記を参照)。
ノート: 可変オブジェクトがセット要素として使用される場合は、細心の注意が必要です。 オブジェクトがセット内の要素である間にequalsの比較に影響する方法でオブジェクトの値が変更された場合、セットの動作は指定されません。 この禁止事項の特例により、セットがそれ自体を要素として持つことは許可されません。
セットの実装には、格納できる要素に制限があるものもあります。 たとえば、null要素を禁止する実装や、null要素の型に制限がある実装もあります。 不適格要素を追加しようとすると、チェックされていない例外(通常はNullPointerExceptionまたはClassCastException)がスローされます。 不適格な要素を照会しようとすると、例外がスローされる場合や、ただfalseを返す場合もあります。前者の動作を実行する実装もあれば、後者の動作を実行する実装もあります。 もう少し一般的に言うと、セットへの挿入がされない不適当な要素を処理しようとすると、例外がスローされる場合や、処理が有効になる場合があります。 このインタフェースの仕様では、そうした例外は「任意」と記載されています。
変更不可能なSets
Set.ofおよびSet.copyOf静的ファクトリ・メソッドは、変更不可能なセットを作成する便利な方法を提供します。 これらのメソッドによって作成されたSetインスタンスには、次の特性があります:
- それらはunmodifiableです。 要素を追加または削除することはできません。 Setで任意のmutatorメソッドを呼び出すと、常に
UnsupportedOperationExceptionがスローされます。 ただし、含まれている要素自体が可変である場合は、Setが一貫性のない動作をするか、その内容が変化しているように見える可能性があります。 null要素は許可されません。null要素でそれらを作成しようとすると、NullPointerExceptionになります。- すべての要素が直列化可能である場合は、直列化可能です。
- 作成時に重複する要素を拒否します。 静的ファクトリ・メソッドに渡された重複要素は、
IllegalArgumentExceptionになります。 - セット要素の反復順序は未指定であり、変更される可能性があります。
- それらはvalue-basedです。 プログラマは、equalのインスタンスを交換可能として処理し、同期に使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 呼び出し元は、返されたインスタンスのアイデンティティについて何も想定しないでください。 ファクトリは、新しいインスタンスを作成したり、既存のインスタンスを再利用できます。
- これらは、「直列化された形式」ページで指定したとおりに直列化されます。
このインタフェースは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明boolean指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。booleanaddAll(Collection<? extends E> c) 指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。voidclear()セットからすべての要素を削除します(オプションの操作)。boolean指定された要素がこのセットに含まれている場合にtrueを返します。booleancontainsAll(Collection<?> c) 指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。static <E> Set<E> copyOf(Collection<? extends E> coll) 指定されたCollectionの要素を含む「変更不可能なSet」を返します。boolean指定されたオブジェクトがセットと同じかどうかを比較します。inthashCode()セットのハッシュ・コード値を返します。booleanisEmpty()このセットに要素が1つも含まれていない場合にtrueを返します。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指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。booleanremoveAll(Collection<?> c) このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。booleanretainAll(Collection<?> c) セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。intsize()セット内の要素数(そのカーディナリティ)を返します。default Spliterator<E> このセット内の要素に対するSpliteratorを作成します。Object[]toArray()セット内のすべての要素が格納されている配列を返します。<T> T[]toArray(T[] a) セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。インタフェースjava.util.Collectionで宣言されたメソッド
parallelStream, removeIf, stream, toArray
-
メソッドの詳細
-
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
-
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を返します。 このため、コンストラクタについての制約との組み合わせにより、セットが重複要素を持たないことを保証します。前述の規定は、セットがすべての要素を受け入れる必要があることを意味するわけではありません。セットでは、
Collection.addの指定に従って、nullなどの特定の要素の追加を拒否し、例外をスローする場合があります。 セットの各実装では、セットが持つことのできる要素についての制約を明記するようにしてください。- 定義:
add、インタフェースCollection<E>- パラメータ:
e- このセットに追加される要素- 戻り値:
- このセット内に、指定された要素がなかった場合は
true - スロー:
UnsupportedOperationException-add操作がこのセットでサポートされていない場合ClassCastException- 指定された要素のクラスが原因で、このセットにその要素を追加できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- 指定された要素のあるプロパティが原因で、このセットにその要素を追加できない場合
-
remove
boolean remove(Object o) 指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。 さらに正式には、要素eを削除して、このセットにそのような要素が含まれている場合は、Objects.equals(o, 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の場合- 関連項目:
-
addAll
boolean addAll(Collection<? extends E> c) 指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。 指定されたコレクションもセットである場合、addAllオペレーションは、その値が2つのセットの和集合になるようにこのセットを効率的に変更します。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。- 定義:
addAll、インタフェースCollection<E>- パラメータ:
c- このセットに追加される要素を含むコレクション- 戻り値:
- 呼出しの結果としてこのセットが変更された場合は
true - スロー:
UnsupportedOperationException-addAll操作がこのセットでサポートされていない場合ClassCastException- 指定されたコレクションの要素のクラスが原因で、このセットにその要素を追加できない場合NullPointerException- 指定されたコレクションに1つ以上のnull要素が含まれており、このセットがnull要素を許可しない場合、または指定されたコレクションがnullの場合IllegalArgumentException- 指定されたコレクションの要素のあるプロパティが原因で、このセットにその要素を追加できない場合- 関連項目:
-
retainAll
boolean retainAll(Collection<?> c) セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。 つまり、セットから、指定されたコレクション内にない要素をすべて削除します。 指定されたコレクションもセットである場合、このオペレーションは、その値が2つのセットの共通部分になるようにこのセットを効率的に変更します。- 定義:
retainAll、インタフェースCollection<E>- パラメータ:
c- このセットで保持される要素を含むコレクション- 戻り値:
- 呼出しの結果としてこのセットが変更された場合は
true - スロー:
UnsupportedOperationException-retainAll操作がこのセットでサポートされていない場合ClassCastException- このセットのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)NullPointerException- このセットにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合- 関連項目:
-
removeAll
boolean removeAll(Collection<?> c) このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。 指定されたコレクションもセットである場合、このオペレーションは、その値が2つのセットの非対称集合差分になるようにこのセットを効率的に変更します。- 定義:
removeAll、インタフェースCollection<E>- パラメータ:
c- このセットから削除される要素を含むコレクション- 戻り値:
- 呼出しの結果としてこのセットが変更された場合は
true - スロー:
UnsupportedOperationException-removeAll操作がこのセットでサポートされていない場合ClassCastException- このセットのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)NullPointerException- このセットにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合- 関連項目:
-
clear
void clear()セットからすべての要素を削除します(オプションの操作)。 この呼出しが戻ると、セットは空になります。- 定義:
clear、インタフェースCollection<E>- スロー:
UnsupportedOperationException-clearメソッドがこのセットでサポートされていない場合
-
equals
boolean equals(Object o) 指定されたオブジェクトがセットと同じかどうかを比較します。 指定されたオブジェクトもセットで、2つのセットが同じサイズを持ち、指定されたセットのすべてのメンバーがこのセットに含まれる場合(つまり、このセットのすべてのメンバーが指定されたセットに含まれる場合)にtrueを返します。 この定義により、equalsメソッドがセット・インタフェースのさまざまな実装で適切に動作することが保証されます。- 定義:
equals、インタフェースCollection<E>- オーバーライド:
equals、クラスObject- パラメータ:
o- このセットと等しいかどうかが比較されるオブジェクト- 戻り値:
- 指定されたオブジェクトがこのセットに等しい場合は
true - 関連項目:
-
hashCode
int hashCode()セットのハッシュ・コード値を返します。 セットのハッシュ・コードは、セット内の要素のハッシュ・コードの合計として定義されます。ここで、null要素のハッシュ・コードはゼロとして定義されます。 これにより、s1.equals(s2)は、Object.hashCode()の一般契約で要求されるように、s1およびs2の2つのセットに対してs1.hashCode()==s2.hashCode()が暗黙的に指定されます。- 定義:
hashCode、インタフェースCollection<E>- オーバーライド:
hashCode、クラスObject- 戻り値:
- セットのハッシュ・コード値
- 関連項目:
-
spliterator
default Spliterator<E> spliterator()このセット内の要素に対するSpliteratorを作成します。SpliteratorはSpliterator.DISTINCTを報告します。 実装は、追加の特性値の報告をドキュメント化する必要があります。- 定義:
spliterator、インタフェースCollection<E>- 定義:
spliterator、インタフェースIterable<E>- 実装要件:
- デフォルト実装は、セットの
Iteratorから遅延バインディング・スプリッテレータを作成します。 スプリッテレータは、セットのイテレータのフェイルファスト・プロパティを継承します。作成された
Spliteratorは、追加でSpliterator.SIZEDを報告します。 - 実装上のノート:
- 作成された
SpliteratorはさらにSpliterator.SUBSIZEDも報告します。 - 戻り値:
- このセット内の要素に対する
Spliterator - 導入されたバージョン:
- 1.8
-
of
static <E> Set<E> of()ゼロ要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
E-Setの要素型- 戻り値:
- 空の
Set - 導入されたバージョン:
- 9
-
of
static <E> Set<E> of(E e1) 1つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
E-Setの要素型- パラメータ:
e1- 単一要素- 戻り値:
- 指定された要素を含む
Set - スロー:
NullPointerException- 要素がnullの場合- 導入されたバージョン:
- 9
-
of
static <E> Set<E> of(E e1, E e2) 2つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
E-Setの要素型- パラメータ:
e1- 最初の要素e2- 第2要素- 戻り値:
- 指定された要素を含む
Set - スロー:
IllegalArgumentException- 要素が重複している場合NullPointerException- 要素がnullの場合- 導入されたバージョン:
- 9
-
of
static <E> Set<E> of(E e1, E e2, E e3) 3つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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つの要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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個の要素を含む変更不可能なセットを返します。 詳細については、「変更不可能なSet」を参照してください。- 型パラメータ:
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) 任意の数の要素を含む変更不可能な集合を返します。 詳細については、「変更不可能なSet」を参照してください。- 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の要素を含む「変更不可能なSet」を返します。 指定されたCollectionはnullであってはならず、null要素を含んではいけません。 指定されたCollectionに重複要素が含まれている場合、重複要素の任意の要素が保持されます。 指定されたCollectionがその後に変更された場合、返されたSetはそのような変更を反映しません。- 実装上のノート:
- 指定されたコレクションが「変更不可能なSet」の場合、通常、copyOfをコールしてもコピーは作成されません。
- 型パラメータ:
E-Setの要素型- パラメータ:
coll- 要素が描画されるCollectionはnullでなくてはなりません- 戻り値:
- 与えられた
Collectionの要素を含むSet - スロー:
NullPointerException- collがnullの場合、またはnullが含まれている場合- 導入されたバージョン:
- 10
-