final class RegularImmutableMap<K,V> extends ImmutableMap<K,V>
ImmutableMap
with two or more entries.Modifier and Type | Class and Description |
---|---|
private static class |
RegularImmutableMap.KeySet<K> |
private static class |
RegularImmutableMap.Values<K,V> |
ImmutableMap.Builder<K,V>, ImmutableMap.IteratorBasedImmutableMap<K,V>, ImmutableMap.SerializedForm<K,V>
Modifier and Type | Field and Description |
---|---|
(package private) static ImmutableMap<java.lang.Object,java.lang.Object> |
EMPTY |
(package private) java.util.Map.Entry<K,V>[] |
entries |
(package private) static double |
HASH_FLOODING_FPP
Maximum allowed false positive probability of detecting a hash flooding attack given random
input.
|
private int |
mask |
(package private) static int |
MAX_HASH_BUCKET_LENGTH
Maximum allowed length of a hash table bucket before falling back to a j.u.HashMap based
implementation.
|
(package private) static double |
MAX_LOAD_FACTOR
Closed addressing tends to perform well even with high load factors.
|
private static long |
serialVersionUID |
private ImmutableMapEntry<K,V>[] |
table |
EMPTY_ENTRY_ARRAY
Modifier | Constructor and Description |
---|---|
private |
RegularImmutableMap(java.util.Map.Entry<K,V>[] entries,
ImmutableMapEntry<K,V>[] table,
int mask) |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
checkNoConflictInKeyBucket(java.lang.Object key,
java.util.Map.Entry<?,?> entry,
ImmutableMapEntry<?,?> keyBucketHead) |
(package private) ImmutableSet<java.util.Map.Entry<K,V>> |
createEntrySet() |
(package private) ImmutableSet<K> |
createKeySet() |
(package private) ImmutableCollection<V> |
createValues() |
void |
forEach(java.util.function.BiConsumer<? super K,? super V> action) |
(package private) static <K,V> ImmutableMap<K,V> |
fromEntries(java.util.Map.Entry<K,V>... entries) |
(package private) static <K,V> ImmutableMap<K,V> |
fromEntryArray(int n,
java.util.Map.Entry<K,V>[] entryArray)
Creates an ImmutableMap from the first n entries in entryArray.
|
V |
get(java.lang.Object key) |
(package private) static <V> V |
get(java.lang.Object key,
ImmutableMapEntry<?,V>[] keyTable,
int mask) |
(package private) boolean |
isPartialView() |
(package private) static <K,V> ImmutableMapEntry<K,V> |
makeImmutable(java.util.Map.Entry<K,V> entry)
Makes an entry usable internally by a new ImmutableMap.
|
(package private) static <K,V> ImmutableMapEntry<K,V> |
makeImmutable(java.util.Map.Entry<K,V> entry,
K key,
V value)
Makes an entry usable internally by a new ImmutableMap without rereading its contents.
|
int |
size() |
asMultimap, builder, builderWithExpectedSize, checkNoConflict, clear, compute, computeIfAbsent, computeIfPresent, conflictException, containsKey, containsValue, copyOf, copyOf, entryOf, entrySet, equals, getOrDefault, hashCode, isEmpty, isHashCodeFast, keyIterator, keySet, keySpliterator, merge, of, of, of, of, of, of, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, toImmutableMap, toImmutableMap, toString, values, writeReplace
static final ImmutableMap<java.lang.Object,java.lang.Object> EMPTY
static final double MAX_LOAD_FACTOR
static final double HASH_FLOODING_FPP
static final int MAX_HASH_BUCKET_LENGTH
private final transient ImmutableMapEntry<K,V>[] table
private final transient int mask
private static final long serialVersionUID
private RegularImmutableMap(java.util.Map.Entry<K,V>[] entries, ImmutableMapEntry<K,V>[] table, int mask)
static <K,V> ImmutableMap<K,V> fromEntries(java.util.Map.Entry<K,V>... entries)
static <K,V> ImmutableMap<K,V> fromEntryArray(int n, java.util.Map.Entry<K,V>[] entryArray)
static <K,V> ImmutableMapEntry<K,V> makeImmutable(java.util.Map.Entry<K,V> entry, K key, V value)
static <K,V> ImmutableMapEntry<K,V> makeImmutable(java.util.Map.Entry<K,V> entry)
static int checkNoConflictInKeyBucket(java.lang.Object key, java.util.Map.Entry<?,?> entry, ImmutableMapEntry<?,?> keyBucketHead)
java.lang.IllegalArgumentException
- if another entry in the bucket has the same keypublic V get(java.lang.Object key)
static <V> V get(java.lang.Object key, ImmutableMapEntry<?,V>[] keyTable, int mask)
public int size()
boolean isPartialView()
isPartialView
in class ImmutableMap<K,V>
ImmutableSet<java.util.Map.Entry<K,V>> createEntrySet()
createEntrySet
in class ImmutableMap<K,V>
ImmutableSet<K> createKeySet()
createKeySet
in class ImmutableMap<K,V>
ImmutableCollection<V> createValues()
createValues
in class ImmutableMap<K,V>