@GwtCompatible(serializable=true, emulated=true) public abstract class ImmutableBiMap<K,V> extends ImmutableMap<K,V> implements BiMap<K,V>
BiMap
whose contents will never change, with many other important properties detailed
at ImmutableCollection
.Modifier and Type | Class and Description |
---|---|
static class |
ImmutableBiMap.Builder<K,V>
A builder for creating immutable bimap instances, especially
public static final bimaps
("constant bimaps"). |
Modifier and Type | Method and Description |
---|---|
static <K,V> ImmutableBiMap.Builder<K,V> |
builder()
Returns a new builder.
|
static <K,V> ImmutableBiMap.Builder<K,V> |
builderWithExpectedSize(int expectedSize)
Returns a new builder, expecting the specified number of entries to be added.
|
static <K,V> ImmutableBiMap<K,V> |
copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable bimap containing the given entries.
|
static <K,V> ImmutableBiMap<K,V> |
copyOf(Map<? extends K,? extends V> map)
Returns an immutable bimap containing the same entries as
map . |
V |
forcePut(K key,
V value)
Deprecated.
Unsupported operation.
|
abstract ImmutableBiMap<V,K> |
inverse()
Returns the inverse view of this bimap, which maps each of this bimap's values to its
associated key.
|
static <K,V> ImmutableBiMap<K,V> |
of()
Returns the empty bimap.
|
static <K,V> ImmutableBiMap<K,V> |
of(K k1,
V v1)
Returns an immutable bimap containing a single entry.
|
static <K,V> ImmutableBiMap<K,V> |
of(K k1,
V v1,
K k2,
V v2)
Returns an immutable map containing the given entries, in order.
|
static <K,V> ImmutableBiMap<K,V> |
of(K k1,
V v1,
K k2,
V v2,
K k3,
V v3)
Returns an immutable map containing the given entries, in order.
|
static <K,V> ImmutableBiMap<K,V> |
of(K k1,
V v1,
K k2,
V v2,
K k3,
V v3,
K k4,
V v4)
Returns an immutable map containing the given entries, in order.
|
static <K,V> ImmutableBiMap<K,V> |
of(K k1,
V v1,
K k2,
V v2,
K k3,
V v3,
K k4,
V v4,
K k5,
V v5)
Returns an immutable map containing the given entries, in order.
|
ImmutableSet<V> |
values()
Returns an immutable set of the values in this map, in the same order they appear in
ImmutableMap.entrySet . |
asMultimap, clear, containsKey, containsValue, entrySet, equals, get, getOrDefault, hashCode, isEmpty, keySet, put, putAll, remove, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size
public static <K,V> ImmutableBiMap<K,V> of()
public static <K,V> ImmutableBiMap<K,V> of(K k1, V v1)
public static <K,V> ImmutableBiMap<K,V> of(K k1, V v1, K k2, V v2)
IllegalArgumentException
- if duplicate keys or values are addedpublic static <K,V> ImmutableBiMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
IllegalArgumentException
- if duplicate keys or values are addedpublic static <K,V> ImmutableBiMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
IllegalArgumentException
- if duplicate keys or values are addedpublic static <K,V> ImmutableBiMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
IllegalArgumentException
- if duplicate keys or values are addedpublic static <K,V> ImmutableBiMap.Builder<K,V> builder()
ImmutableBiMap.Builder
constructor.@Beta public static <K,V> ImmutableBiMap.Builder<K,V> builderWithExpectedSize(int expectedSize)
If expectedSize
is exactly the number of entries added to the builder before ImmutableBiMap.Builder.build()
is called, the builder is likely to perform better than an unsized builder()
would have.
It is not specified if any performance benefits apply if expectedSize
is close to,
but not exactly, the number of entries added to the builder.
public static <K,V> ImmutableBiMap<K,V> copyOf(Map<? extends K,? extends V> map)
map
. If map
somehow
contains entries with duplicate keys (for example, if it is a SortedMap
whose
comparator is not consistent with equals), the results of this method are undefined.
The returned BiMap
iterates over entries in the same order as the entrySet
of the original map.
Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
IllegalArgumentException
- if two keys have the same value or two values have the same
keyNullPointerException
- if any key or value in map
is null@Beta public static <K,V> ImmutableBiMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
IllegalArgumentException
- if two keys have the same value or two values have the same
keyNullPointerException
- if any key, value, or entry is nullpublic abstract ImmutableBiMap<V,K> inverse()
Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.
The inverse of an ImmutableBiMap
is another ImmutableBiMap
.
public ImmutableSet<V> values()
ImmutableMap.entrySet
.@CanIgnoreReturnValue @Deprecated public V forcePut(K key, V value)
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 entryUnsupportedOperationException
- alwaysCopyright © 2010–2020. All rights reserved.