- 型パラメータ:
- K- このマップによって保持されるキーの列挙タイプ
- V- マップされる値の型
- すべての実装されたインタフェース:
- Serializable,- Cloneable,- Map<K,- V> 
Map実装です。 enumマップ内のキーはすべて、マップの作成時に、指定された単一のenum型から明示的または暗黙的に生成される必要があります。 enumマップは、内部では配列として表現されます。 この表現は、非常に簡潔かつ効率的です。 
 enumマップは、キーの自然順序 (enum定数の宣言される順序)で管理されます。 これは、コレクション・ビュー(keySet()、entrySet()、およびvalues())により返されるイテレータに反映されます。 
 
コレクション・ビューにより返されるイテレータは、弱一貫性を保持します。これらがConcurrentModificationExceptionをスローすることはありません。また、反復の進行中に実行されるマップへの変更の影響を表示することも、非表示にすることも可能です。
 
nullキーは許可されません。 nullキーを挿入しようとすると、NullPointerExceptionがスローされます。 ただし、nullキーの存在をテストしたり、削除を試みる場合は正常に機能します。 null値は指定可能です。 
 
ほとんどのコレクション実装と同様に、EnumMapは同期されません。 複数のスレッドが並行してenumマップにアクセスし、それらのスレッドの少なくとも1つがマップを変更する場合には、外部で同期をとる必要があります。 通常、これは、enumマップを自然にカプセル化するいくつかのオブジェクトで同期をとることによって達成されます。 そのようなオブジェクトが存在しない場合は、Collections.synchronizedMap(java.util.Map<K, V>)メソッドを使用してマップを「ラップ」する必要があります。 これは、偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。 
 
     Map<EnumKey, V> m
         = Collections.synchronizedMap(new EnumMap<EnumKey, V>(...));
 
 実装にあたってのノート: 基本のオペレーションはすべて一定時間に実行されます。 これらは通常、HashMapの対応するオペレーションよりも高速に動作します(ただし保証外)。 
 
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.5
- 関連項目:
- 
ネストされたクラスのサマリークラスjava.util.AbstractMapで宣言されたネストされたクラス/インタフェースAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> 
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明voidclear()すべてのマッピングをマップから削除します。clone()このenumマップのシャロー・コピーを返します。booleancontainsKey(Object key) 指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。booleancontainsValue(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。entrySet()このマップに含まれるマッピングのSetビューを返します。boolean指定されたオブジェクトがこのマップと等しいかどうかを比較します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。inthashCode()マップのハッシュ・コード値を返します。keySet()このマップに含まれるキーのSetビューを返します。指定された値と指定されたキーをこのマップに関連付けます。void指定されたマップからすべてのマッピングをマップにコピーします。キーに対するマッピングがあれば、そのキーをマップから削除します。intsize()このマップ内のキー値マッピングの数を返します。values()このマップに含まれる値のCollectionビューを返します。クラスjava.util.AbstractMapで宣言されたメソッドisEmpty, toStringインタフェースjava.util.Mapで宣言されたメソッドcompute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
- 
コンストラクタの詳細- 
EnumMap指定されたキーの型を使用して空のenumマップを作成します。- パラメータ:
- keyType- このenumマップ用のキー型のクラス・オブジェクト
- 例外:
- NullPointerException-- keyTypeがnullの場合
 
- 
EnumMap指定されたenumマップと同じキーの型を使用して、enumマップを作成します。最初は、同じマッピングを含むenumマップを作成します(同じマッピングが存在する場合)。- パラメータ:
- m- このenumマップの初期化元のenumマップ
- 例外:
- NullPointerException-- mがnullの場合
 
- 
EnumMap指定されたマップから初期化されたenumマップを作成します。 指定したマップがEnumMapインスタンスの場合、このコンストラクタはEnumMap(EnumMap)と同じように動作します。 それ以外の場合は、指定されたマップがマッピングを1つ以上含んでいる必要があります(新規enumマップのキーの型を判定するため)。- パラメータ:
- m- このenumマップの初期化元のマップ
- 例外:
- IllegalArgumentException-- mが- EnumMapインスタンスではなく、マッピングが含まれていない場合
- NullPointerException-- mがnullの場合
 
 
- 
- 
メソッドの詳細- 
size
- 
containsValuepublic boolean containsValue(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。- 定義:
- インタフェースMap<K extends Enum<K>,内のV> containsValue
- オーバーライド:
- クラスAbstractMap<K extends Enum<K>,のV> containsValue
- パラメータ:
- value- マップにあるかどうかを判定される値
- 戻り値:
- このマップがこの値に1つ以上のキーをマップする場合、true
 
- 
containsKeypublic boolean containsKey(Object key) 指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。- 定義:
- インタフェースMap<K extends Enum<K>,内のV> containsKey
- オーバーライド:
- クラスAbstractMap<K extends Enum<K>,のV> containsKey
- パラメータ:
- key- このマップ内にあるかどうかが判定されるキー
- 戻り値:
- 指定されたキーのマッピングがこのマップに含まれている場合はtrue
 
- 
get指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。つまり、このメソッドは、 (key == k)となるキーkから値vへのマッピングがこのマップに含まれている場合はvを返し、それ以外の場合はnullを返します。 (このようなマッピングは1つのみ存在できます。)戻り値 nullは、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップすることもあります。containsKey操作を使うと、これら2つのケースを見分けることができます。
- 
put指定された値と指定されたキーをこのマップに関連付けます。 マップが以前にこのキーのマッピングを保持していた場合、古い値が置き換えられます。
- 
remove
- 
putAll指定されたマップからすべてのマッピングをマップにコピーします。 これにより、マップが指定されたマップ内に現在あるキーのすべてに対して持っていたマッピングが置き換えられます。
- 
clear
- 
keySet
- 
valuespublic Collection<V> values()このマップに含まれる値のCollectionビューを返します。 返されるコレクションは、Map.values()に概説されている汎用規約に従います。 コレクションのイテレータは、対応するキーがマップ内に表示される自然順序(enum定数の宣言された順序)に従って値を返します。
- 
entrySet
- 
equalspublic boolean equals(Object o) 指定されたオブジェクトがこのマップと等しいかどうかを比較します。 指定されたオブジェクトがマップでもあり、2つのマップが同じマッピングを表している場合は、trueを返します(Map.equals(Object)契約で指定)。
- 
hashCode
- 
clone
 
-