public class EnumMap<K extends Enum<K>,V> extends AbstractMap<K,V> implements Serializable, Cloneable, Map<K,V>
Map specialized for use with Enum types as keys.AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| Constructor and Description |
|---|
EnumMap(Class<K> keyType)
Constructs an empty
EnumMap using the given key type. |
EnumMap(EnumMap<K,? extends V> map)
Constructs an
EnumMap using the same key type as the given EnumMap and
initially containing the same mappings. |
EnumMap(Map<K,? extends V> map)
Constructs an
EnumMap initialized from the given map. |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all elements from this
EnumMap, leaving it empty. |
EnumMap<K,V> |
clone()
Returns a shallow copy of this
EnumMap. |
boolean |
containsKey(Object key)
Returns whether this
EnumMap contains the specified key. |
boolean |
containsValue(Object value)
Returns whether this
EnumMap contains the specified value. |
Set<Map.Entry<K,V>> |
entrySet()
Returns a
Set containing all of the mappings in this EnumMap. |
boolean |
equals(Object object)
Compares the argument to the receiver, and returns
true if the
specified Object is an EnumMap and both EnumMaps contain the same mappings. |
V |
get(Object key)
Returns the value of the mapping with the specified key.
|
Set<K> |
keySet()
Returns a set of the keys contained in this
EnumMap. |
V |
put(K key,
V value)
Maps the specified key to the specified value.
|
void |
putAll(Map<? extends K,? extends V> map)
Copies every mapping in the specified
Map to this EnumMap. |
V |
remove(Object key)
Removes a mapping with the specified key from this
EnumMap. |
int |
size()
Returns the number of elements in this
EnumMap. |
Collection<V> |
values()
Returns a
Collection of the values contained in this EnumMap. |
hashCode, isEmpty, toStringpublic EnumMap(Class<K> keyType)
EnumMap using the given key type.keyType - the class object giving the type of the keys used by this EnumMap.NullPointerException - if keyType is null.public EnumMap(EnumMap<K,? extends V> map)
EnumMap using the same key type as the given EnumMap and
initially containing the same mappings.map - the EnumMap from which this EnumMap is initialized.NullPointerException - if map is null.public EnumMap(Map<K,? extends V> map)
EnumMap initialized from the given map. If the given map
is an EnumMap instance, this constructor behaves in the exactly the same
way as EnumMap(EnumMap)}. Otherwise, the given map
should contain at least one mapping.map - the map from which this EnumMap is initialized.IllegalArgumentException - if map is not an EnumMap instance and does not contain
any mappings.NullPointerException - if map is null.public void clear()
EnumMap, leaving it empty.public boolean containsKey(Object key)
EnumMap contains the specified key.containsKey in interface Map<K extends Enum<K>,V>containsKey in class AbstractMap<K extends Enum<K>,V>key - the key to search for.true if this EnumMap contains the specified key,
false otherwise.public boolean containsValue(Object value)
EnumMap contains the specified value.containsValue in interface Map<K extends Enum<K>,V>containsValue in class AbstractMap<K extends Enum<K>,V>value - the value to search for.true if this EnumMap contains the specified value,
false otherwise.public Set<Map.Entry<K,V>> entrySet()
Set containing all of the mappings in this EnumMap. Each mapping is
an instance of Map.Entry. As the Set is backed by this EnumMap,
changes in one will be reflected in the other.
The order of the entries in the set will be the order that the enum keys were declared in.
public boolean equals(Object object)
true if the
specified Object is an EnumMap and both EnumMaps contain the same mappings.equals in interface Map<K extends Enum<K>,V>equals in class AbstractMap<K extends Enum<K>,V>object - the Object to compare with this EnumMap.true if object is the same as this EnumMap,
false otherwise.AbstractMap.hashCode(),
entrySet()public Set<K> keySet()
EnumMap. The Set is backed by
this EnumMap so changes to one are reflected in the other. The Set does not
support adding.
The order of the set will be the order that the enum keys were declared in.
public V put(K key, V value)
put in interface Map<K extends Enum<K>,V>put in class AbstractMap<K extends Enum<K>,V>key - the key.value - the value.null if there was no mapping.UnsupportedOperationException - if adding to this map is not supported.ClassCastException - if the class of the key or value is inappropriate for this
map.IllegalArgumentException - if the key or value cannot be added to this map.NullPointerException - if the key or value is null and this EnumMap does not
support null keys or values.public void putAll(Map<? extends K,? extends V> map)
Map to this EnumMap.putAll in interface Map<K extends Enum<K>,V>putAll in class AbstractMap<K extends Enum<K>,V>map - the Map to copy mappings from.UnsupportedOperationException - if adding to this EnumMap is not supported.ClassCastException - if the class of a key or value is inappropriate for this
EnumMap.IllegalArgumentException - if a key or value cannot be added to this map.NullPointerException - if a key or value is null and this EnumMap does not
support null keys or values.public V remove(Object key)
EnumMap.remove in interface Map<K extends Enum<K>,V>remove in class AbstractMap<K extends Enum<K>,V>key - the key of the mapping to remove.null if no mapping
for the specified key was found.UnsupportedOperationException - if removing from this EnumMap is not supported.public int size()
EnumMap.public Collection<V> values()
Collection of the values contained in this EnumMap. The returned
Collection complies with the general rule specified in
Map.values(). The Collection's Iterator will return the values
in the their corresponding keys' natural order (the Enum constants are
declared in this order).
The order of the values in the collection will be the order that their corresponding enum keys were declared in.