Package com.google.common.collect
Class RegularImmutableBiMap<K,V>
- java.lang.Object
-
- com.google.common.collect.ImmutableMap<K,V>
-
- com.google.common.collect.ImmutableBiMap<K,V>
-
- com.google.common.collect.RegularImmutableBiMap<K,V>
-
- All Implemented Interfaces:
BiMap<K,V>
,java.io.Serializable
,java.util.Map<K,V>
@GwtCompatible(serializable=true, emulated=true) class RegularImmutableBiMap<K,V> extends ImmutableBiMap<K,V>
Bimap with zero or more mappings.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
RegularImmutableBiMap.Inverse
private static class
RegularImmutableBiMap.InverseSerializedForm<K,V>
-
Nested classes/interfaces inherited from class com.google.common.collect.ImmutableBiMap
ImmutableBiMap.Builder<K,V>
-
Nested classes/interfaces inherited from class com.google.common.collect.ImmutableMap
ImmutableMap.IteratorBasedImmutableMap<K,V>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static RegularImmutableBiMap<java.lang.Object,java.lang.Object>
EMPTY
private java.util.Map.Entry<K,V>[]
entries
private int
hashCode
private ImmutableBiMap<V,K>
inverse
private ImmutableMapEntry<K,V>[]
keyTable
private int
mask
(package private) static double
MAX_LOAD_FACTOR
private ImmutableMapEntry<K,V>[]
valueTable
-
Fields inherited from class com.google.common.collect.ImmutableMap
EMPTY_ENTRY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description private
RegularImmutableBiMap(ImmutableMapEntry<K,V>[] keyTable, ImmutableMapEntry<K,V>[] valueTable, java.util.Map.Entry<K,V>[] entries, int mask, int hashCode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
checkNoConflictInValueBucket(java.lang.Object value, java.util.Map.Entry<?,?> entry, ImmutableMapEntry<?,?> valueBucketHead)
(package private) ImmutableSet<java.util.Map.Entry<K,V>>
createEntrySet()
(package private) static <K,V>
RegularImmutableBiMap<K,V>fromEntries(java.util.Map.Entry<K,V>... entries)
(package private) static <K,V>
RegularImmutableBiMap<K,V>fromEntryArray(int n, java.util.Map.Entry<K,V>[] entryArray)
V
get(java.lang.Object key)
int
hashCode()
ImmutableBiMap<V,K>
inverse()
Returns the inverse view of this bimap, which maps each of this bimap's values to its associated key.(package private) boolean
isHashCodeFast()
(package private) boolean
isPartialView()
int
size()
-
Methods inherited from class com.google.common.collect.ImmutableBiMap
builder, copyOf, copyOf, forcePut, of, of, of, of, of, of, values, writeReplace
-
Methods inherited from class com.google.common.collect.ImmutableMap
asMultimap, checkNoConflict, clear, containsKey, containsValue, createKeySet, createValues, entryOf, entrySet, equals, isEmpty, keyIterator, keySet, put, putAll, remove, toString
-
-
-
-
Field Detail
-
EMPTY
static final RegularImmutableBiMap<java.lang.Object,java.lang.Object> EMPTY
-
MAX_LOAD_FACTOR
static final double MAX_LOAD_FACTOR
- See Also:
- Constant Field Values
-
keyTable
private final transient ImmutableMapEntry<K,V>[] keyTable
-
valueTable
private final transient ImmutableMapEntry<K,V>[] valueTable
-
mask
private final transient int mask
-
hashCode
private final transient int hashCode
-
inverse
private transient ImmutableBiMap<V,K> inverse
-
-
Constructor Detail
-
RegularImmutableBiMap
private RegularImmutableBiMap(ImmutableMapEntry<K,V>[] keyTable, ImmutableMapEntry<K,V>[] valueTable, java.util.Map.Entry<K,V>[] entries, int mask, int hashCode)
-
-
Method Detail
-
fromEntries
static <K,V> RegularImmutableBiMap<K,V> fromEntries(java.util.Map.Entry<K,V>... entries)
-
fromEntryArray
static <K,V> RegularImmutableBiMap<K,V> fromEntryArray(int n, java.util.Map.Entry<K,V>[] entryArray)
-
checkNoConflictInValueBucket
private static void checkNoConflictInValueBucket(java.lang.Object value, java.util.Map.Entry<?,?> entry, @Nullable ImmutableMapEntry<?,?> valueBucketHead)
-
get
@Nullable public V get(@Nullable java.lang.Object key)
-
createEntrySet
ImmutableSet<java.util.Map.Entry<K,V>> createEntrySet()
- Specified by:
createEntrySet
in classImmutableMap<K,V>
-
isHashCodeFast
boolean isHashCodeFast()
- Overrides:
isHashCodeFast
in classImmutableMap<K,V>
-
hashCode
public int hashCode()
-
isPartialView
boolean isPartialView()
- Specified by:
isPartialView
in classImmutableMap<K,V>
-
size
public int size()
-
inverse
public ImmutableBiMap<V,K> inverse()
Description copied from class:ImmutableBiMap
Returns 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.
The inverse of an
ImmutableBiMap
is anotherImmutableBiMap
.
-
-