@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 key) | 
| boolean | containsValue(Object value) | 
| static <K,V> HashBiMap<K,V> | create()Returns a new, empty  HashBiMapwith the default initial capacity (16). | 
| static <K,V> HashBiMap<K,V> | create(int expectedSize)Constructs a new, empty bimap with the specified expected size. | 
| static <K,V> HashBiMap<K,V> | create(Map<? extends K,? extends V> map)Constructs a new bimap containing initial values from  map. | 
| Set<Map.Entry<K,V>> | entrySet() | 
| V | forcePut(K key,
                V value)An alternate form of  putthat silently removes any existing entry
 with the valuevaluebefore proceeding with theBiMap.put(K, V)operation. | 
| V | get(Object key) | 
| 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) | 
| V | remove(Object key) | 
| int | size() | 
| Set<V> | values() | 
clone, equals, hashCode, isEmpty, putAll, toStringpublic 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 entriesIllegalArgumentException - 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 boolean containsKey(@Nullable Object key)
containsKey in interface Map<K,V>containsKey in class AbstractMap<K,V>public boolean containsValue(@Nullable Object value)
containsValue in interface Map<K,V>containsValue in class AbstractMap<K,V>public V forcePut(@Nullable K key, @Nullable 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 Set<V> values()
BiMapBecause a bimap has unique values, this method returns a Set,
 instead of the Collection specified in the Map
 interface.
public BiMap<V,K> inverse()
BiMapNote:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.
Copyright © 2010-2015. All Rights Reserved.