@GwtCompatible(emulated=true) public final class HashBiMap<K,V> extends AbstractMap<K ,V> implements BiMap <K ,V>, Serializable
BiMap backed by two hash tables. This implementation allows null keys and values. A
HashBiMap and its inverse are both serializable.
See the Guava User Guide article on BiMap .
AbstractMap.SimpleEntry <K,V>, AbstractMap.SimpleImmutableEntry <K,V> | Modifier and Type | Method and Description |
|---|---|
void |
clear()
|
boolean |
containsKey(Object
|
boolean |
containsValue(Object
|
static <K |
create()
Returns a new, empty
HashBiMap with the default initial capacity (16).
|
static <K |
create(int expectedSize)
Constructs a new, empty bimap with the specified expected size.
|
static <K |
create(Map
Constructs a new bimap containing initial values from
map.
|
Set |
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 operation.
|
V |
get(Object
|
BiMap |
inverse()
Returns the inverse view of this bimap, which maps each of this bimap's values to its associated key.
|
Set |
keySet()
|
V |
put(K key, V value)
|
V |
remove(Object
|
int |
size()
|
Set |
values()
|
clone, equals, hashCode, isEmpty, putAll, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove, replace, replace, replaceAllpublic 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 negative
public 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 boolean containsKey(Objectkey)
public boolean containsValue(Objectvalue)
public V forcePut(K key, 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 associated
value - the value to be associated with the specified key
null, or
null if there was no previous entry
public void clear()
public int size()
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.
public BiMap<V ,K> inverse()
BiMap
Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.