com.google.common.collect
@GwtCompatible(emulated=true) public final class EnumBiMap<K extends java.lang.Enum<K>,V extends java.lang.Enum<V>> extends ForwardingMap<K,V>
BiMap backed by two EnumMap instances. Null keys and values
are not permitted. An EnumBiMap and its inverse are both
serializable.ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
boolean |
containsValue(java.lang.Object value) |
static <K extends java.lang.Enum<K>,V extends java.lang.Enum<V>> |
create(java.lang.Class<K> keyType,
java.lang.Class<V> valueType)
Returns a new, empty
EnumBiMap using the specified key and value
types. |
static <K extends java.lang.Enum<K>,V extends java.lang.Enum<V>> |
create(java.util.Map<K,V> map)
Returns a new bimap with the same mappings as the specified map.
|
protected java.util.Map<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet() |
V |
forcePut(K key,
V value)
An alternate form of
put that silently removes any existing entry
with the value value before proceeding with the BiMap.put(K, V)
operation. |
BiMap<V,K> |
inverse()
Returns the inverse view of this bimap, which maps each of this bimap's
values to its associated key.
|
java.util.Set<K> |
keySet() |
java.lang.Class<K> |
keyType()
Returns the associated key type.
|
V |
put(K key,
V value) |
void |
putAll(java.util.Map<? extends K,? extends V> map) |
V |
remove(java.lang.Object key) |
java.util.Set<V> |
values() |
java.lang.Class<V> |
valueType()
Returns the associated value type.
|
containsKey, equals, get, hashCode, isEmpty, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToStringtoStringpublic static <K extends java.lang.Enum<K>,V extends java.lang.Enum<V>> EnumBiMap<K,V> create(java.lang.Class<K> keyType, java.lang.Class<V> valueType)
EnumBiMap using the specified key and value
types.keyType - the key typevalueType - the value typepublic static <K extends java.lang.Enum<K>,V extends java.lang.Enum<V>> EnumBiMap<K,V> create(java.util.Map<K,V> map)
EnumBiMap, the new bimap has the same types as
the provided map. Otherwise, the specified map must contain at least one
mapping, in order to determine the key and value types.map - the map whose mappings are to be placed in this mapjava.lang.IllegalArgumentException - if map is not an EnumBiMap
instance and contains no mappingspublic java.lang.Class<K> keyType()
public java.lang.Class<V> valueType()
protected java.util.Map<K,V> delegate()
ForwardingObjectForwardingSet.delegate(). Concrete subclasses override this method to supply
the instance being decorated.delegate in class ForwardingMap<K,V>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<K,V>containsValue in class ForwardingMap<K,V>public V put(K key,
V value)
BiMapput in interface BiMap<K,V>put in interface java.util.Map<K,V>put in class ForwardingMap<K,V>public V forcePut(K key,
V value)
BiMapput that silently removes any existing entry
with the value value before proceeding with the BiMap.put(K, V)
operation. If the bimap previously contained the provided key-value
mapping, this method has no effect.
Note that a successful call to this method could cause the size of the bimap to increase by one, stay the same, or even decrease by one.
Warning: If an existing entry with this value is removed, the key for that entry is discarded and not returned.
forcePut in interface BiMap<K,V>key - the key with which the specified value is to be associatedvalue - the value to be associated with the specified keynull, or null if there was no previous entrypublic V remove(java.lang.Object key)
remove in interface java.util.Map<K,V>remove in class ForwardingMap<K,V>public void putAll(java.util.Map<? extends K,? extends V> map)
BiMapWarning: the results of calling this method may vary depending on
the iteration order of map.
putAll in interface BiMap<K,V>putAll in interface java.util.Map<K,V>putAll in class ForwardingMap<K,V>public void clear()
clear in interface java.util.Map<K,V>clear in class ForwardingMap<K,V>public BiMap<V,K> inverse()
BiMapNote:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.
public java.util.Set<K> keySet()
keySet in interface java.util.Map<K,V>keySet in class ForwardingMap<K,V>public java.util.Set<V> values()
BiMapBecause a bimap has unique values, this method returns a Set,
instead of the Collection specified in the Map
interface.
values in interface BiMap<K,V>values in interface java.util.Map<K,V>values in class ForwardingMap<K,V>public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
entrySet in interface java.util.Map<K,V>entrySet in class ForwardingMap<K,V>