Class HashBiMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
org.docx4j.com.google.common.collect.HashBiMap<K,V>
- All Implemented Interfaces:
java.io.Serializable,java.util.Map<K,V>,BiMap<K,V>
public final class HashBiMap<K,V> extends java.util.AbstractMap<K,V> implements BiMap<K,V>, java.io.Serializable
A
BiMap backed by two hash tables. This implementation allows null keys and values. A
HashBiMap and its inverse are both serializable.
This implementation guarantees insertion-based iteration order of its keys.
See the Guava User Guide article on BiMap .
- Since:
- 2.0
- Author:
- Louis Wasserman, Mike Bostock
- See Also:
- Serialized Form
-
Nested Class Summary
-
Method Summary
Modifier and Type Method Description voidclear()booleancontainsKey(@Nullable java.lang.Object key)booleancontainsValue(@Nullable java.lang.Object value)static <K, V> HashBiMap<K,V>create()Returns a new, emptyHashBiMapwith 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(java.util.Map<? extends K,? extends V> map)Constructs a new bimap containing initial values frommap.java.util.Set<java.util.Map.Entry<K,V>>entrySet()@Nullable VforcePut(@Nullable K key, @Nullable V value)An alternate form ofputthat silently removes any existing entry with the valuevaluebefore proceeding with theBiMap.put(K, V)operation.voidforEach(java.util.function.BiConsumer<? super K,? super V> action)@Nullable Vget(@Nullable java.lang.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.java.util.Set<K>keySet()Vput(@Nullable K key, @Nullable V value)@Nullable Vremove(@Nullable java.lang.Object key)voidreplaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)intsize()java.util.Set<V>values()Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, isEmpty, putAll, toString
-
Method Details
-
create
Returns a new, emptyHashBiMapwith the default initial capacity (16). -
create
Constructs a new, empty bimap with the specified expected size.- Parameters:
expectedSize- the expected number of entries- Throws:
java.lang.IllegalArgumentException- if the specified expected size is negative
-
create
Constructs a new bimap containing initial values frommap. The bimap is created with an initial capacity sufficient to hold the mappings in the specified map. -
containsKey
public boolean containsKey(@Nullable java.lang.Object key) -
containsValue
public boolean containsValue(@Nullable java.lang.Object value) -
get
-
put
Description copied from interface:BiMap -
forcePut
Description copied from interface:BiMapAn alternate form ofputthat silently removes any existing entry with the valuevaluebefore proceeding with theBiMap.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.
- Specified by:
forcePutin interfaceBiMap<K,V>- Parameters:
key- the key with which the specified value is to be associatedvalue- the value to be associated with the specified key- Returns:
- the value which was previously associated with the key, which may be
null, ornullif there was no previous entry
-
remove
-
clear
public void clear() -
size
public int size() -
keySet
-
values
Description copied from interface:BiMapBecause a bimap has unique values, this method returns a
Set, instead of theCollectionspecified in theMapinterface. -
forEach
-
replaceAll
-
inverse
Description copied from interface:BiMapReturns the inverse view of this bimap, which maps each of this bimap's values to its associated key. The two bimaps are backed by the same data; any changes to one will appear in the other.Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.
-
entrySet
- Specified by:
entrySetin interfacejava.util.Map<K,V>- Specified by:
entrySetin classjava.util.AbstractMap<K,V>
-