- 型パラメータ:
E
- このセットで保持される要素の列挙型
- すべての実装されたインタフェース:
Serializable
,Cloneable
,Iterable<E>
,Collection<E>
,Set<E>
Set
実装です。 enumセット内の要素はすべて、セットの作成時に、指定された単一のenum型から明示的または暗黙的に生成される必要があります。 enumセットは、内部ではビット・ベクトルとして表現されます。 この表現は、非常に簡潔かつ効率的です。 このクラスの領域および時間パフォーマンスは、従来のint
ベースの"ビット・フラグ。"に代わる高品質でタイプ・セーフなクラスとして使用できる十分な大きさである必要があります バルク操作でも、(containsAll
やretainAll
など)の引数が列挙セットでもある場合は、非常に高速に実行する必要があります。
iterator
メソッドから返されたイテレータは、「自然秩序」 (列挙定数が宣言される順序)の要素を走査します。 返されるイテレータは、弱一貫性を保持します。これがConcurrentModificationException
をスローすることはありません。また、反復の進行中に実行されるセットへの変更の影響を表示することも、非表示にすることも可能です。
null要素は許可されません。 null要素を挿入しようとすると、NullPointerException
がスローされます。 ただし、null要素の存在をテストしたり、削除を試みる場合は正常に機能します。
ほとんどのコレクション実装と同様に、EnumSet
は同期されません。 複数のスレッドが並行してenumセットにアクセスし、それらのスレッドの少なくとも1つがセットを変更する場合には、外部で同期をとる必要があります。 通常、これは、enumセットを自然にカプセル化するいくつかのオブジェクトで同期をとることによって達成されます。 そのようなオブジェクトが存在しない場合は、Collections.synchronizedSet(java.util.Set<T>)
メソッドを使用してセットを「ラップ」する必要があります。 これは、偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。
Set<MyEnum> s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));
実装にあたってのノート: 基本のオペレーションはすべて一定時間に実行されます。 これらは通常、HashSet
の対応するオペレーションよりもずっと高速に動作します(ただし保証外)。 引数もenumセットであれば、一括オペレーションでさえ一定時間に実行されます。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明指定された要素型のすべての要素を含むenumセットを作成します。clone()
このセットのコピーを返します。complementOf
(EnumSet<E> s) 指定されたenumセットと同じ要素型を使用してenumセットを作成します。最初は、指定されたセットに含まれないこの型の要素がすべて含められます。copyOf
(Collection<E> c) 指定されたコレクションから初期化されたenumセットを作成します。指定されたenumセットと同じ要素型を使用して、enumセットを作成します。最初は、同じ要素を含むenumセットを作成します(同じ要素が存在する場合)。指定された要素型を使用して空のenumセットを作成します。of
(E e) 指定された要素を最初に含むenumセットを作成します。of
(E e1, E e2) 指定された要素が最初に含まれるenumセットを作成します。of
(E first, E... rest) 指定された要素が最初に含まれるenumセットを作成します。of
(E e1, E e2, E e3) 指定された要素が最初に含まれるenumセットを作成します。of
(E e1, E e2, E e3, E e4) 指定された要素が最初に含まれるenumセットを作成します。of
(E e1, E e2, E e3, E e4, E e5) 指定された要素が最初に含まれるenumセットを作成します。range
(E from, E to) 指定された2つの端点により定義される範囲内の要素すべてを最初に含むenumセットを作成します。クラスjava.util.AbstractSetで宣言されたメソッド
equals, hashCode, removeAll
クラスjava.util.AbstractCollectionで宣言されたメソッド
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
インタフェースjava.util.Collectionで宣言されたメソッド
parallelStream, removeIf, stream, toArray
-
メソッドの詳細
-
noneOf
指定された要素型を使用して空のenumセットを作成します。- 型パラメータ:
E
- セット内の要素のクラス- パラメータ:
elementType
- このenumセット用の要素型のクラス・オブジェクト- 戻り値:
- 指定された型の空のenumセット。
- 例外:
NullPointerException
-elementType
がnullの場合
-
allOf
指定された要素型のすべての要素を含むenumセットを作成します。- 型パラメータ:
E
- セット内の要素のクラス- パラメータ:
elementType
- このenumセット用の要素型のクラス・オブジェクト- 戻り値:
- 指定された型のすべての要素を含むenumセット。
- 例外:
NullPointerException
-elementType
がnullの場合
-
copyOf
指定されたenumセットと同じ要素型を使用して、enumセットを作成します。最初は、同じ要素を含むenumセットを作成します(同じ要素が存在する場合)。- 型パラメータ:
E
- セット内の要素のクラス- パラメータ:
s
- このenumセットの初期化元のenumセット- 戻り値:
- 指定されたenumセットのコピー。
- 例外:
NullPointerException
-s
がnullである場合
-
copyOf
public static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> c) 指定されたコレクションから初期化されたenumセットを作成します。 指定したコレクションがEnumSet
インスタンスの場合、この静的ファクトリ・メソッドはcopyOf(EnumSet)
と同じように動作します。 それ以外の場合は、指定されたコレクションが1つ以上の要素を含んでいる必要があります(新規enumセットの要素型を判定するため)。- 型パラメータ:
E
- コレクション内の要素のクラス- パラメータ:
c
- このenumセットの初期化元のコレクション- 戻り値:
- 指定されたコレクションから初期化されたenumセット。
- 例外:
IllegalArgumentException
-c
がEnumSet
インスタンスではなく、要素を含まない場合NullPointerException
-c
がnullである場合
-
complementOf
指定されたenumセットと同じ要素型を使用してenumセットを作成します。最初は、指定されたセットに含まれないこの型の要素がすべて含められます。- 型パラメータ:
E
- enumセット内の要素のクラス- パラメータ:
s
- このenumセットの初期化に使用する補数を保持するenumセット- 戻り値:
- このセット内の指定されたセットの補数
- 例外:
NullPointerException
-s
がnullである場合
-
of
指定された要素を最初に含むenumセットを作成します。 このメソッドのオーバーロードは、1 - 5つの要素でenumセットを初期化するために存在します。 6番目には可変引数機能を使用するオーバーロードが行われます。 このオーバーロードでは、最初に任意の数の要素が含まれたenumセットを作成するために実行される可能性がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- 指定された要素およびセットの要素のクラス- パラメータ:
e
- このセットが最初に含む要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
-e
がnullの場合
-
of
指定された要素が最初に含まれるenumセットを作成します。 このメソッドのオーバーロードは、1 - 5つの要素でenumセットを初期化するために存在します。 6番目には可変引数機能を使用するオーバーロードが行われます。 このオーバーロードでは、最初に任意の数の要素が含まれたenumセットを作成するために実行される可能性がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
e1
- このセットが最初に含む要素e2
- このセットが最初に含む別の要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
- パラメータがnullの場合
-
of
指定された要素が最初に含まれるenumセットを作成します。 このメソッドのオーバーロードは、1 - 5つの要素でenumセットを初期化するために存在します。 6番目には可変引数機能を使用するオーバーロードが行われます。 このオーバーロードでは、最初に任意の数の要素が含まれたenumセットを作成するために実行される可能性がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
e1
- このセットが最初に含む要素e2
- このセットが最初に含む別の要素e3
- このセットが最初に含む別の要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
- パラメータがnullの場合
-
of
指定された要素が最初に含まれるenumセットを作成します。 このメソッドのオーバーロードは、1 - 5つの要素でenumセットを初期化するために存在します。 6番目には可変引数機能を使用するオーバーロードが行われます。 このオーバーロードでは、最初に任意の数の要素が含まれたenumセットを作成するために実行される可能性がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
e1
- このセットが最初に含む要素e2
- このセットが最初に含む別の要素e3
- このセットが最初に含む別の要素e4
- このセットが最初に含む別の要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
- パラメータがnullの場合
-
of
指定された要素が最初に含まれるenumセットを作成します。 このメソッドのオーバーロードは、1 - 5つの要素でenumセットを初期化するために存在します。 6番目には可変引数機能を使用するオーバーロードが行われます。 このオーバーロードでは、最初に任意の数の要素が含まれたenumセットを作成するために実行される可能性がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
e1
- このセットが最初に含む要素e2
- このセットが最初に含む別の要素e3
- このセットが最初に含む別の要素e4
- このセットが最初に含む別の要素e5
- このセットが最初に含む別の要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
- パラメータがnullの場合
-
of
@SafeVarargs public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest) 指定された要素が最初に含まれるenumセットを作成します。 そのパラメータ・リストが可変引数機能を使用するこのファクトリは、最初に任意の数の要素を含むenumセットを作成するために使用される場合がありますが、可変引数を使用しないオーバーロードより低速に実行される傾向があります。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
first
- このセットが最初に含む要素rest
- セットが最初に含む残りの要素- 戻り値:
- 指定された要素を最初に含むenumセット
- 例外:
NullPointerException
- 指定した要素のいずれかがnullの場合、またはrest
がnullの場合
-
range
指定された2つの端点により定義される範囲内の要素すべてを最初に含むenumセットを作成します。 返されるセットには、端点自身が含まれます。これは、同一であってもかまいませんが、順序が乱れてはいけません。- 型パラメータ:
E
- パラメータ要素およびセットの要素のクラス- パラメータ:
from
- 範囲内の最初の要素to
- 範囲内の最後の要素- 戻り値:
- 指定された2つの端点で定義された範囲内のすべての要素を最初に含むenumセット
- 例外:
NullPointerException
-from
またはto
がnullの場合IllegalArgumentException
-from.compareTo(to)> 0
の場合
-
clone
-