|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.collect.ForwardingObject com.google.common.collect.ForwardingMap<K,V> com.google.common.collect.HashBiMap<K,V>
@GwtCompatible(emulated=true) public final class HashBiMap<K,V>
A BiMap
backed by two HashMap
instances. This implementation
allows null keys and values. A HashBiMap
and its inverse are both
serializable.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap |
---|
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues |
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Method Summary | ||
---|---|---|
void |
clear()
|
|
boolean |
containsValue(Object value)
|
|
static
|
create()
Returns a new, empty HashBiMap with the default initial capacity
(16). |
|
static
|
create(int expectedSize)
Constructs a new, empty bimap with the specified expected size. |
|
static
|
create(Map<? extends K,? extends V> map)
Constructs a new bimap containing initial values from map . |
|
protected Map<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to. |
|
Set<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. |
|
Set<K> |
keySet()
|
|
V |
put(K key,
V value)
|
|
void |
putAll(Map<? extends K,? extends V> map)
|
|
V |
remove(Object key)
|
|
Set<V> |
values()
|
Methods inherited from class com.google.common.collect.ForwardingMap |
---|
containsKey, equals, get, hashCode, isEmpty, size, standardClear, standardContainsKey, standardContainsValue, standardEntrySet, standardEquals, standardHashCode, standardIsEmpty, standardKeySet, standardPutAll, standardRemove, standardToString, standardValues |
Methods inherited from class com.google.common.collect.ForwardingObject |
---|
toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
---|
containsKey, equals, get, hashCode, isEmpty, size |
Method Detail |
---|
public static <K,V> HashBiMap<K,V> create()
HashBiMap
with the default initial capacity
(16).
public static <K,V> HashBiMap<K,V> create(int expectedSize)
expectedSize
- the expected number of entries
IllegalArgumentException
- if the specified expected size is
negativepublic static <K,V> HashBiMap<K,V> create(Map<? extends K,? extends V> map)
map
. The
bimap is created with an initial capacity sufficient to hold the mappings
in the specified map.
public V put(@Nullable K key, @Nullable V value)
BiMap
put
in interface BiMap<K,V>
put
in interface Map<K,V>
public V forcePut(@Nullable K key, @Nullable V value)
BiMap
put
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 key
null
, or null
if there was no previous entryprotected Map<K,V> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.
delegate
in class ForwardingMap<K,V>
public boolean containsValue(Object value)
containsValue
in interface Map<K,V>
containsValue
in class ForwardingMap<K,V>
public V remove(Object key)
remove
in interface Map<K,V>
remove
in class ForwardingMap<K,V>
public void putAll(Map<? extends K,? extends V> map)
BiMap
Warning: the results of calling this method may vary depending on
the iteration order of map
.
putAll
in interface BiMap<K,V>
putAll
in interface Map<K,V>
putAll
in class ForwardingMap<K,V>
public void clear()
clear
in interface Map<K,V>
clear
in class ForwardingMap<K,V>
public BiMap<V,K> inverse()
BiMap
Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.
inverse
in interface BiMap<K,V>
public Set<K> keySet()
keySet
in interface Map<K,V>
keySet
in class ForwardingMap<K,V>
public Set<V> values()
BiMap
Because 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 Map<K,V>
values
in class ForwardingMap<K,V>
public Set<Map.Entry<K,V>> entrySet()
entrySet
in interface Map<K,V>
entrySet
in class ForwardingMap<K,V>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |