- すべての実装されたインタフェース:
- Serializable,- Cloneable,- Map<K,V>
public class EnumMap<K extends Enum<K>,V> extends AbstractMap<K,V> implements Serializable, Cloneable
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のメンバーです。
- 
ネストされたクラスのサマリークラス java.util.AbstractMapで宣言されたネストされたクラス/インタフェースAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
- 
コンストラクタのサマリー
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidclear()すべてのマッピングをマップから削除します。EnumMap<K,V>clone()このenumマップのシャロー・コピーを返します。booleancontainsKey(Object key)指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。booleancontainsValue(Object value)このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。Set<Map.Entry<K,V>>entrySet()このマップに含まれるマッピングのSetビューを返します。booleanequals(Object o)指定されたオブジェクトがこのマップと等しいかどうかを比較します。Vget(Object key)指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。inthashCode()マップのハッシュ・コード値を返します。Set<K>keySet()このマップに含まれるキーのSetビューを返します。Vput(K key, V value)指定された値と指定されたキーをこのマップに関連付けます。voidputAll(Map<? extends K,? extends V> m)指定されたマップからすべてのマッピングをマップにコピーします。Vremove(Object key)キーに対するマッピングがあれば、そのキーをマップから削除します。intsize()このマップ内のキー値マッピングの数を返します。Collection<V>values()このマップに含まれる値のCollectionビューを返します。インタフェース 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の場合
 
 
- 
- 
メソッドの詳細- 
sizepublic int 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指定されたマップからすべてのマッピングをマップにコピーします。 これにより、マップが指定されたマップ内に現在あるキーのすべてに対して持っていたマッピングが置き換えられます。
- 
clearpublic void clear()すべてのマッピングをマップから削除します。
- 
keySetこのマップに含まれるキーのSetビューを返します。 返されるセットは、Map.keySet()に概説されている汎用規約に従います。 セットのイテレータは、自然順序(enum定数の宣言された順序)に従ってキーを返します。
- 
valuespublic Collection<V> values()このマップに含まれる値のCollectionビューを返します。 返されるコレクションは、Map.values()に概説されている汎用規約に従います。 コレクションのイテレータは、対応するキーがマップ内に表示される自然順序(enum定数の宣言された順序)に従って値を返します。
- 
entrySetこのマップに含まれるマッピングのSetビューを返します。 返されるセットは、Map.keySet()に概説されている汎用規約に従います。 セットのイテレータは、キーがマップ内に表示される自然順序(enum定数の宣言された順序)に従ってマッピングを返します。
- 
equalspublic boolean equals(Object o)指定されたオブジェクトがこのマップと等しいかどうかを比較します。 指定されたオブジェクトもマップであり、2つのマップがMap.equals(Object)規約で指定されたものと同じマッピングを表す場合、trueを返します。
- 
hashCodepublic int hashCode()マップのハッシュ・コード値を返します。 マップのハッシュ・コードは、マップの各エントリのハッシュ・コードの合計です。- 定義:
- インタフェースMap<K extends Enum<K>,V>内のhashCode
- オーバーライド:
- クラスAbstractMap<K extends Enum<K>,V>のhashCode
- 戻り値:
- マップのハッシュ・コード値
- 関連項目:
- Map.Entry.hashCode(),- Object.equals(Object),- Set.equals(Object)
 
- 
cloneこのenumマップのシャロー・コピーを返します。 値そのものはクローン化されません。
 
-