|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.AbstractMap<K,V>
java.util.EnumMap<K,V>
public class EnumMap<K extends Enum<K>,V>
enum 型のキーで使用するための特殊な Map 実装です。enum マップ内のキーはすべて、マップの作成時に、指定された単一の enum 型から明示的または暗黙的に生成される必要があります。enum マップは、内部では配列として表現されます。この表現は、非常に簡潔かつ効率的です。
enum マップは、キーの「自然順序」(enum 定数の宣言される順序) で管理されます。これは、コレクションビュー (keySet()、entrySet()、および values()) により返される反復子に反映されます。
コレクションビューにより返される反復子は、「弱一貫性」を保持します。これらが ConcurrentModificationException をスローすることはありません。 また、反復の進行中に実行されるマップへの変更の影響を表示することも、非表示にすることも可能です。
null キーは許可されません。null キーを挿入しようとすると、NullPointerException がスローされます。ただし、null キーの存在をテストしたり、削除を試みる場合は正常に機能します。null 値 は指定可能です。
大半のコレクション実装と同様、EnumMap は同期されません。複数のスレッドが並行して enum マップにアクセスし、それらのスレッドの少なくとも 1 つがマップを変更する場合には、外部で同期をとる必要があります。通常、これは、enum マップを自然にカプセル化するいくつかのオブジェクトで同期をとることによって達成されます。この種のオブジェクトがない場合には、Collections.synchronizedMap(java.util.Map メソッドを使用してマップを「ラップ」する必要があります。これは、偶発的な非同期アクセスを防ぐために、作成時に行うのが最適です。
Map<EnumKey, V> m
= Collections.synchronizedMap(new EnumMap<EnumKey, V>(...));
実装にあたっての注意:基本のオペレーションはすべて一定時間に実行されます。これらは通常、HashMap の対応するオペレーションよりも高速に動作します (ただし保証外)。
このクラスは、Java Collections Framework のメンバーです。
EnumSet,
直列化された形式| 入れ子のクラスの概要 |
|---|
| クラス java.util.AbstractMap から継承された入れ子のクラス/インタフェース |
|---|
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V> |
| インタフェース java.util.Map から継承された入れ子のクラス/インタフェース |
|---|
Map.Entry<K,V> |
| コンストラクタの概要 | |
|---|---|
EnumMap(Class<K> keyType)
指定されたキーの型を使用して空の enum マップを作成します。 |
|
EnumMap(EnumMap<K,? extends V> m)
指定された enum マップと同じキーの型を使用して、enum マップを作成します。 |
|
EnumMap(Map<K,? extends V> m)
指定されたマップから初期化された enum マップを作成します。 |
|
| メソッドの概要 | |
|---|---|
void |
clear()
すべてのマッピングをマップから削除します。 |
EnumMap<K,V> |
clone()
この enum マップのシャローコピーを返します。 |
boolean |
containsKey(Object key)
マップが指定のキーのマッピングを保持する場合に true を返します。 |
boolean |
containsValue(Object value)
マップが 1 つまたは複数のキーと指定された値をマッピングしている場合に true を返します。 |
Set<Map.Entry<K,V>> |
entrySet()
このマップに含まれるマップの Set ビューを返します。 |
boolean |
equals(Object o)
指定されたオブジェクトがこのマップと等しいかどうかを比較します。 |
V |
get(Object key)
指定されたキーがマップされている値を返します。 |
Set<K> |
keySet()
このマップに含まれるキーの Set ビューを返します。 |
V |
put(K key,
V value)
指定された値と指定されたキーをこのマップに関連付けます。 |
void |
putAll(Map<? extends K,? extends V> m)
指定されたマップからすべてのマッピングをマップにコピーします。 |
V |
remove(Object key)
キーに対するマッピングがあれば、そのキーをマップから削除します。 |
int |
size()
マップ内のキー値マッピングの数を返します。 |
Collection<V> |
values()
このマップに含まれる値の Collection ビューを返します。 |
| クラス java.util.AbstractMap から継承されたメソッド |
|---|
hashCode, isEmpty, toString |
| クラス java.lang.Object から継承されたメソッド |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public EnumMap(Class<K> keyType)
keyType - この enum マップ用のキー型のクラスオブジェクト
NullPointerException - keyType が null の場合public EnumMap(EnumMap<K,? extends V> m)
m - この enum マップの初期化元の enum マップ
NullPointerException - m が null の場合public EnumMap(Map<K,? extends V> m)
EnumMap(EnumMap) と同じ動作をします。それ以外の場合は、指定されたマップがマッピングを 1 つ以上含んでいる必要があります (新規 enum マップのキーの型を判定するため)。
m - この enum マップの初期化元のマップ
IllegalArgumentException - m が EnumMap インスタンスではなく、マッピングを含まない場合
NullPointerException - m が null の場合| メソッドの詳細 |
|---|
public int size()
Map<K extends Enum<K>,V> 内の sizeAbstractMap<K extends Enum<K>,V> 内の sizepublic boolean containsValue(Object value)
Map<K extends Enum<K>,V> 内の containsValueAbstractMap<K extends Enum<K>,V> 内の containsValuevalue - マップにあるかどうかを判定される値
public boolean containsKey(Object key)
Map<K extends Enum<K>,V> 内の containsKeyAbstractMap<K extends Enum<K>,V> 内の containsKeykey - マップにあるかどうかが判定されるキー
public V get(Object key)
null を返します。
つまり、このメソッドは、(key == k) となるキー k から値 v へのマッピングがこのマップに含まれている場合は v を返し、それ以外の場合は null を返します。このようなマッピングが 1 つだけあります。
戻り値の null は、マップがキーのマッピングを保持していないことを示すとはかぎりません。 つまり、マップが明示的にキーを null にマップすることもあります。containsKey オペレーションを使うと、この 2 つの場合を区別できます。
Map<K extends Enum<K>,V> 内の getAbstractMap<K extends Enum<K>,V> 内の getkey - 関連付けられた値が返されるキー
null
public V put(K key,
V value)
Map<K extends Enum<K>,V> 内の putAbstractMap<K extends Enum<K>,V> 内の putkey - 指定された値が関連付けられるキーvalue - 指定されたキーに関連付けられる値
NullPointerException - 指定されたキーが null である場合public V remove(Object key)
Map<K extends Enum<K>,V> 内の removeAbstractMap<K extends Enum<K>,V> 内の removekey - マッピングがマップから削除されるキー
public void putAll(Map<? extends K,? extends V> m)
Map<K extends Enum<K>,V> 内の putAllAbstractMap<K extends Enum<K>,V> 内の putAllm - このマップに格納されるマッピング
NullPointerException - 指定されたマップが null の場合、指定されたマップ内の 1 つまたは複数のキーが null になるpublic void clear()
Map<K extends Enum<K>,V> 内の clearAbstractMap<K extends Enum<K>,V> 内の clearpublic Set<K> keySet()
Set ビューを返します。返されるセットは、Map.keySet() に概説されている汎用規約に従います。セットの反復子は、自然順序 (enum 定数の宣言された順序) に従ってキーを返します。
Map<K extends Enum<K>,V> 内の keySetAbstractMap<K extends Enum<K>,V> 内の keySetpublic Collection<V> values()
Collection ビューを返します。返されるコレクションは、Map.values() に概説されている汎用規約に従います。コレクションの反復子は、対応するキーがマップ内に表示される自然順序 (enum 定数の宣言された順序) に従って値を返します。
Map<K extends Enum<K>,V> 内の valuesAbstractMap<K extends Enum<K>,V> 内の valuespublic Set<Map.Entry<K,V>> entrySet()
Set ビューを返します。返されるセットは、Map.keySet() に概説されている汎用規約に従います。セットの反復子は、キーがマップ内に表示される自然順序 (enum 定数の宣言された順序) に従ってマッピングを返します。
Map<K extends Enum<K>,V> 内の entrySetAbstractMap<K extends Enum<K>,V> 内の entrySetpublic boolean equals(Object o)
Map.equals(Object) 規約で指定されたものと同じマッピングを表す場合、true を返します。
Map<K extends Enum<K>,V> 内の equalsAbstractMap<K extends Enum<K>,V> 内の equalso - このマップと等しいかどうかを比較するオブジェクト
Object.hashCode(),
Hashtablepublic EnumMap<K,V> clone()
AbstractMap<K extends Enum<K>,V> 内の cloneCloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。