@GwtCompatible(serializable=true, emulated=true) public abstract class ImmutableMap<K,V> extends Object implements Map<K,V>, Serializable
A Map
whose contents will never change, with many other important properties detailed at ImmutableCollection
.
See the Guava User Guide article on immutable collections.
Modifier and Type | Class and Description |
---|---|
static class |
ImmutableMap.Builder<K,V>
A builder for creating immutable map instances, especially
public
static final maps (“constant maps”). |
Modifier and Type | Method and Description |
---|---|
ImmutableSetMultimap<K,V> |
asMultimap()
Returns a multimap view of the map.
|
static <K,V> ImmutableMap.Builder<K,V> |
builder()
Returns a new builder.
|
static <K,V> ImmutableMap.Builder<K,V> |
builder(int initialCapacity)
Returns a new builder with the given initial capacity.
|
void |
clear()
Deprecated.
Unsupported operation.
|
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
static <K,V> ImmutableMap<K,V> |
copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable map containing the specified entries.
|
static <K,V> ImmutableMap<K,V> |
copyOf(Map<? extends K,? extends V> map)
Returns an immutable map containing the same entries as
map . |
ImmutableSet<Map.Entry<K,V>> |
entrySet()
Returns an immutable set of the mappings in this map.
|
boolean |
equals(Object object) |
abstract V |
get(Object key) |
int |
hashCode() |
boolean |
isEmpty() |
ImmutableSet<K> |
keySet()
Returns an immutable set of the keys in this map.
|
static <K,V> ImmutableMap<K,V> |
of()
Returns the empty map.
|
static <K,V> ImmutableMap<K,V> |
of(K k1,
V v1)
Returns an immutable map containing a single entry.
|
static <K,V> ImmutableMap<K,V> |
of(K k1,
V v1,
K k2,
V v2)
Returns an immutable map containing the given entries, in order.
|
static <K,V> ImmutableMap<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> ImmutableMap<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> ImmutableMap<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.
|
V |
put(K k,
V v)
Deprecated.
Unsupported operation.
|
void |
putAll(Map<? extends K,? extends V> map)
Deprecated.
Unsupported operation.
|
V |
remove(Object o)
Deprecated.
Unsupported operation.
|
String |
toString() |
ImmutableCollection<V> |
values()
Returns an immutable collection of the values in this map.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll, size
public static <K,V> ImmutableMap<K,V> of()
Returns the empty map. This map behaves and performs comparably to Collections.emptyMap()
, and is preferable mainly for consistency and maintainability of your code.
public static <K,V> ImmutableMap<K,V> of(K k1, V v1)
Returns an immutable map containing a single entry. This map behaves and performs comparably to Collections.singletonMap(K, V)
but will not accept a null key or value. It is preferable mainly for consistency and maintainability of your code.
public static <K,V> ImmutableMap<K,V> of(K k1, V v1, K k2, V v2)
Returns an immutable map containing the given entries, in order.
IllegalArgumentException
- if duplicate keys are providedpublic static <K,V> ImmutableMap<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.
IllegalArgumentException
- if duplicate keys are providedpublic static <K,V> ImmutableMap<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.
IllegalArgumentException
- if duplicate keys are providedpublic static <K,V> ImmutableMap<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.
IllegalArgumentException
- if duplicate keys are providedpublic static <K,V> ImmutableMap.Builder<K,V> builder()
Returns a new builder. The generated builder is equivalent to the builder created by the Builder#Builder()
constructor.
public static <K,V> ImmutableMap.Builder<K,V> builder(int initialCapacity)
Returns a new builder with the given initial capacity. The generated builder is equivalent to the builder created by the Builder#Builder(int)
constructor.
public static <K,V> ImmutableMap<K,V> copyOf(Map<? extends K,? extends V> map)
Returns an immutable map containing the same entries as 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.
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.
NullPointerException
- if any key or value in map
is null@Beta public static <K,V> ImmutableMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable map containing the specified entries. The returned map iterates over entries in the same order as the original iterable.
NullPointerException
- if any key, value, or entry is nullIllegalArgumentException
- if two entries have the same key@Deprecated public final V put(K k, V v)
Guaranteed to throw an exception and leave the map unmodified.
put
in interface Map<K,V>
UnsupportedOperationException
- always@Deprecated public final V remove(Object o)
Guaranteed to throw an exception and leave the map unmodified.
remove
in interface Map<K,V>
UnsupportedOperationException
- always@Deprecated public final void putAll(Map<? extends K,? extends V> map)
Guaranteed to throw an exception and leave the map unmodified.
putAll
in interface Map<K,V>
UnsupportedOperationException
- always@Deprecated public final void clear()
Guaranteed to throw an exception and leave the map unmodified.
clear
in interface Map<K,V>
UnsupportedOperationException
- alwayspublic boolean containsKey(@Nullable Object key)
containsKey
in interface Map<K,V>
public boolean containsValue(@Nullable Object value)
containsValue
in interface Map<K,V>
public ImmutableSet<Map.Entry<K,V>> entrySet()
Returns an immutable set of the mappings in this map. The entries are in the same order as the parameters used to build this map.
public ImmutableSet<K> keySet()
Returns an immutable set of the keys in this map. These keys are in the same order as the parameters used to build this map.
public ImmutableCollection<V> values()
Returns an immutable collection of the values in this map. The values are in the same order as the parameters used to build this map.
@Beta public ImmutableSetMultimap<K,V> asMultimap()
Returns a multimap view of the map.
public int hashCode()