private static class Maps.UnmodifiableBiMap<K,V> extends ForwardingMap<K,V> implements BiMap<K,V>, java.io.Serializable
Maps.unmodifiableBiMap(BiMap)
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
Modifier and Type | Field and Description |
---|---|
(package private) BiMap<? extends K,? extends V> |
delegate |
(package private) BiMap<V,K> |
inverse |
private static long |
serialVersionUID |
(package private) java.util.Map<K,V> |
unmodifiableMap |
(package private) java.util.Set<V> |
values |
Constructor and Description |
---|
UnmodifiableBiMap(BiMap<? extends K,? extends V> delegate,
BiMap<V,K> inverse) |
Modifier and Type | Method and Description |
---|---|
V |
compute(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction) |
V |
computeIfAbsent(K key,
java.util.function.Function<? super K,? extends V> mappingFunction) |
V |
computeIfPresent(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction) |
protected java.util.Map<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
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.
|
V |
merge(K key,
V value,
java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction) |
V |
putIfAbsent(K key,
V value) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
V |
replace(K key,
V value) |
boolean |
replace(K key,
V oldValue,
V newValue) |
void |
replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function) |
java.util.Set<V> |
values() |
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString
toString
@CheckForNull transient java.util.Set<V> values
private static final long serialVersionUID
protected java.util.Map<K,V> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply the
instance being decorated.delegate
in class ForwardingMap<K,V>
@CheckForNull 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 associatedvalue
- the value to be associated with the specified keynull
if there was no
previous entry. (If the bimap contains null values, then forcePut
, like put
, returns null
both if the key is absent and if it is present with a null
value.)public void replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)
public boolean remove(java.lang.Object key, java.lang.Object value)
public V computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
public V computeIfPresent(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
public V compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
public V merge(K key, V value, java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction)
public BiMap<V,K> inverse()
BiMap
Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.