static final class Maps.FilteredEntryBiMap<K,V> extends Maps.FilteredEntryMap<K,V> implements BiMap<K,V>
Maps.FilteredEntryMap.KeySet
Modifier and Type | Field and Description |
---|---|
private BiMap<V,K> |
inverse |
filteredEntrySet
predicate, unfiltered
Modifier | Constructor and Description |
---|---|
(package private) |
FilteredEntryBiMap(BiMap<K,V> delegate,
Predicate<? super java.util.Map.Entry<K,V>> predicate) |
private |
FilteredEntryBiMap(BiMap<K,V> delegate,
Predicate<? super java.util.Map.Entry<K,V>> predicate,
BiMap<V,K> inverse) |
Modifier and Type | Method and Description |
---|---|
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.
|
private static <K,V> Predicate<java.util.Map.Entry<V,K>> |
inversePredicate(Predicate<? super java.util.Map.Entry<K,V>> forwardPredicate) |
void |
replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function) |
(package private) BiMap<K,V> |
unfiltered() |
java.util.Set<V> |
values() |
createEntrySet, createKeySet, removeAllKeys, retainAllKeys
apply, containsKey, createValues, get, isEmpty, put, putAll, remove
entrySet, keySet
clear, clone, containsValue, equals, hashCode, size, toString
FilteredEntryBiMap(BiMap<K,V> delegate, Predicate<? super java.util.Map.Entry<K,V>> predicate)
private static <K,V> Predicate<java.util.Map.Entry<V,K>> inversePredicate(Predicate<? super java.util.Map.Entry<K,V>> forwardPredicate)
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
, or
null
if there was no previous entrypublic void replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)
public BiMap<V,K> inverse()
BiMap
Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.