static interface
Map.Entry<K,V>
A map entry (key-value pair).
void
clear()
Removes all of the mappings from this map (optional operation).
default V
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or null
if there is no current mapping).
default V
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped to null
), attempts to compute its value using the given mapping function and enters it into this map unless null
.
default V
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value.
boolean
containsKey(Object key)
Returns true
if this map contains a mapping for the specified key.
boolean
containsValue(Object value)
Returns true
if this map maps one or more keys to the specified value.
static <K,V>
Map<K,V>
copyOf(Map<? extends K,? extends V> map)
Returns an
unmodifiable Mapcontaining the entries of the given Map.
static <K,V>
Map.Entry<K,V>
entry(K k, V v)
Returns an unmodifiable
Map.Entry
containing the given key and value.
Set<Map.Entry<K,V>>
entrySet()
Returns a
Set
view of the mappings contained in this map.
boolean
equals(Object o)
Compares the specified object with this map for equality.
default void
forEach(BiConsumer<? super K,? super V> action)
Performs the given action for each entry in this map until all entries have been processed or the action throws an exception.
V
get(Object key)
Returns the value to which the specified key is mapped, or null
if this map contains no mapping for the key.
default V
getOrDefault(Object key, V defaultValue)
Returns the value to which the specified key is mapped, or defaultValue
if this map contains no mapping for the key.
int
hashCode()
Returns the hash code value for this map.
boolean
isEmpty()
Returns true
if this map contains no key-value mappings.
Set<K>
keySet()
Returns a
Set
view of the keys contained in this map.
default V
merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value.
static <K,V>
Map<K,V>
of()
Returns an unmodifiable map containing zero mappings.
static <K,V>
Map<K,V>
of(K k1, V v1)
Returns an unmodifiable map containing a single mapping.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2)
Returns an unmodifiable map containing two mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3)
Returns an unmodifiable map containing three mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Returns an unmodifiable map containing four mappings.
static <K,V>
Map<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 unmodifiable map containing five mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)
Returns an unmodifiable map containing six mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)
Returns an unmodifiable map containing seven mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)
Returns an unmodifiable map containing eight mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9)
Returns an unmodifiable map containing nine mappings.
static <K,V>
Map<K,V>
of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10)
Returns an unmodifiable map containing ten mappings.
static <K,V>
Map<K,V>
ofEntries(Map.Entry<? extends K,? extends V>... entries)
Returns an unmodifiable map containing keys and values extracted from the given entries.
V
put(K key, V value)
Associates the specified value with the specified key in this map (optional operation).
void
putAll(Map<? extends K,? extends V> m)
Copies all of the mappings from the specified map to this map (optional operation).
default V
putIfAbsent(K key, V value)
If the specified key is not already associated with a value (or is mapped to null
) associates it with the given value and returns null
, else returns the current value.
V
remove(Object key)
Removes the mapping for a key from this map if it is present (optional operation).
default boolean
remove(Object key, Object value)
Removes the entry for the specified key only if it is currently mapped to the specified value.
default V
replace(K key, V value)
Replaces the entry for the specified key only if it is currently mapped to some value.
default boolean
replace(K key, V oldValue, V newValue)
Replaces the entry for the specified key only if currently mapped to the specified value.
default void
replaceAll(BiFunction<? super K,? super V,? extends V> function)
Replaces each entry's value with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception.
int
size()
Returns the number of key-value mappings in this map.
Collection<V>
values()
Returns a
Collection
view of the values contained in this map.
int size()
Returns the number of key-value mappings in this map. If the map contains more than Integer.MAX_VALUE
elements, returns Integer.MAX_VALUE
.
boolean isEmpty()
Returns true
if this map contains no key-value mappings.
true
if this map contains no key-value mappings
boolean containsKey(Object key)
Returns true
if this map contains a mapping for the specified key. More formally, returns true
if and only if this map contains a mapping for a key k
such that Objects.equals(key, k)
. (There can be at most one such mapping.)
key
- key whose presence in this map is to be tested
true
if this map contains a mapping for the specified key
ClassCastException
- if the key is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key is null and this map does not permit null keys (optional)
boolean containsValue(Object value)
Returns true
if this map maps one or more keys to the specified value. More formally, returns true
if and only if this map contains at least one mapping to a value v
such that Objects.equals(value, v)
. This operation will probably require time linear in the map size for most implementations of the Map
interface.
value
- value whose presence in this map is to be tested
true
if this map maps one or more keys to the specified value
ClassCastException
- if the value is of an inappropriate type for this map (optional)
NullPointerException
- if the specified value is null and this map does not permit null values (optional)
V get(Object key)
Returns the value to which the specified key is mapped, or
null
if this map contains no mapping for the key.
More formally, if this map contains a mapping from a key k
to a value v
such that Objects.equals(key, k)
, then this method returns v
; otherwise it returns null
. (There can be at most one such mapping.)
If this map permits null values, then a return value of null
does not necessarily indicate that the map contains no mapping for the key; it's also possible that the map explicitly maps the key to null
. The containsKey
operation may be used to distinguish these two cases.
key
- the key whose associated value is to be returned
null
if this map contains no mapping for the key
ClassCastException
- if the key is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key is null and this map does not permit null keys (optional)
V put(K key, V value)
Associates the specified value with the specified key in this map (optional operation). If the map previously contained a mapping for the key, the old value is replaced by the specified value. (A map
m
is said to contain a mapping for a key
k
if and only if
m.containsKey(k)
would return
true
.)
key
- key with which the specified value is to be associated
value
- value to be associated with the specified key
key
, or null
if there was no mapping for key
. (A null
return can also indicate that the map previously associated null
with key
, if the implementation supports null
values.)
UnsupportedOperationException
- if the put
operation is not supported by this map
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map
NullPointerException
- if the specified key or value is null and this map does not permit null keys or values
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map
V remove(Object key)
Removes the mapping for a key from this map if it is present (optional operation). More formally, if this map contains a mapping from key
k
to value
v
such that
Objects.equals(key, k)
, that mapping is removed. (The map can contain at most one such mapping.)
Returns the value to which this map previously associated the key, or null
if the map contained no mapping for the key.
If this map permits null values, then a return value of null
does not necessarily indicate that the map contained no mapping for the key; it's also possible that the map explicitly mapped the key to null
.
The map will not contain a mapping for the specified key once the call returns.
key
- key whose mapping is to be removed from the map
key
, or null
if there was no mapping for key
.
UnsupportedOperationException
- if the remove
operation is not supported by this map
ClassCastException
- if the key is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key is null and this map does not permit null keys (optional)
void putAll(Map<? extends K,? extends V> m)
Copies all of the mappings from the specified map to this map (optional operation). The effect of this call is equivalent to that of calling
put(k, v)
on this map once for each mapping from key
k
to value
v
in the specified map. The behavior of this operation is undefined if the specified map is modified while the operation is in progress.
m
- mappings to be stored in this map
UnsupportedOperationException
- if the putAll
operation is not supported by this map
ClassCastException
- if the class of a key or value in the specified map prevents it from being stored in this map
NullPointerException
- if the specified map is null, or if this map does not permit null keys or values, and the specified map contains null keys or values
IllegalArgumentException
- if some property of a key or value in the specified map prevents it from being stored in this map
void clear()
Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
UnsupportedOperationException
- if the clear
operation is not supported by this map
Set<K> keySet()
Returns a
Set
view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own
remove
operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
, and
clear
operations. It does not support the
add
or
addAll
operations.
Collection<V> values()
Returns a
Collection
view of the values contained in this map. The collection is backed by the map, so changes to the map are reflected in the collection, and vice-versa. If the map is modified while an iteration over the collection is in progress (except through the iterator's own
remove
operation), the results of the iteration are undefined. The collection supports element removal, which removes the corresponding mapping from the map, via the
Iterator.remove
,
Collection.remove
,
removeAll
,
retainAll
and
clear
operations. It does not support the
add
or
addAll
operations.
Set<Map.Entry<K,V>> entrySet()
Returns a
Set
view of the mappings contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own
remove
operation, or through the
setValue
operation on a map entry returned by the iterator) the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
and
clear
operations. It does not support the
add
or
addAll
operations.
boolean equals(Object o)
Compares the specified object with this map for equality. Returns true
if the given object is also a map and the two maps represent the same mappings. More formally, two maps m1
and m2
represent the same mappings if m1.entrySet().equals(m2.entrySet())
. This ensures that the equals
method works properly across different implementations of the Map
interface.
equals
in class Object
o
- object to be compared for equality with this map
true
if the specified object is equal to this map
Object.hashCode()
, HashMap
int hashCode()
Returns the hash code value for this map. The hash code of a map is defined to be the sum of the hash codes of each entry in the map's
entrySet()
view. This ensures that
m1.equals(m2)
implies that
m1.hashCode()==m2.hashCode()
for any two maps
m1
and
m2
, as required by the general contract of
Object.hashCode()
.
hashCode
in class Object
Map.Entry.hashCode()
, Object.equals(Object)
, equals(Object)
default V getOrDefault(Object key, V defaultValue)
Returns the value to which the specified key is mapped, or defaultValue
if this map contains no mapping for the key.
key
- the key whose associated value is to be returned
defaultValue
- the default mapping of the key
defaultValue
if this map contains no mapping for the key
ClassCastException
- if the key is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key is null and this map does not permit null keys (optional)
default void forEach(BiConsumer<? super K,? super V> action)
Performs the given action for each entry in this map until all entries have been processed or the action throws an exception. Unless otherwise specified by the implementing class, actions are performed in the order of entry set iteration (if an iteration order is specified.) Exceptions thrown by the action are relayed to the caller.
map
:
for (Map.Entry<K, V> entry : map.entrySet())
action.accept(entry.getKey(), entry.getValue());
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
action
- The action to be performed for each entry
NullPointerException
- if the specified action is null
ConcurrentModificationException
- if an entry is found to be removed during iteration
default void replaceAll(BiFunction<? super K,? super V,? extends V> function)
Replaces each entry's value with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception. Exceptions thrown by the function are relayed to the caller.
The default implementation is equivalent to, for this map
:
for (Map.Entry<K, V> entry : map.entrySet())
entry.setValue(function.apply(entry.getKey(), entry.getValue()));
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
function
- the function to apply to each entry
UnsupportedOperationException
- if the set
operation is not supported by this map's entry set iterator.
ClassCastException
- if the class of a replacement value prevents it from being stored in this map
NullPointerException
- if the specified function is null, or the specified replacement value is null, and this map does not permit null values
ClassCastException
- if a replacement value is of an inappropriate type for this map (optional)
NullPointerException
- if function or a replacement value is null, and this map does not permit null keys or values (optional)
IllegalArgumentException
- if some property of a replacement value prevents it from being stored in this map (optional)
ConcurrentModificationException
- if an entry is found to be removed during iteration
default V putIfAbsent(K key, V value)
If the specified key is not already associated with a value (or is mapped to null
) associates it with the given value and returns null
, else returns the current value.
map
:
V v = map.get(key);
if (v == null)
v = map.put(key, value);
return v;
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
key
- key with which the specified value is to be associated
value
- value to be associated with the specified key
null
if there was no mapping for the key. (A null
return can also indicate that the map previously associated null
with the key, if the implementation supports null values.)
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the key or value is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key or value is null, and this map does not permit null keys or values (optional)
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map (optional)
default boolean remove(Object key, Object value)
Removes the entry for the specified key only if it is currently mapped to the specified value.
map
:
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.remove(key);
return true;
} else
return false;
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
key
- key with which the specified value is associated
value
- value expected to be associated with the specified key
true
if the value was removed
UnsupportedOperationException
- if the remove
operation is not supported by this map (optional)
ClassCastException
- if the key or value is of an inappropriate type for this map (optional)
NullPointerException
- if the specified key or value is null, and this map does not permit null keys or values (optional)
default boolean replace(K key, V oldValue, V newValue)
Replaces the entry for the specified key only if currently mapped to the specified value.
map
:
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.put(key, newValue);
return true;
} else
return false;
The default implementation does not throw NullPointerException for maps that do not support null values if oldValue is null unless newValue is also null.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
key
- key with which the specified value is associated
oldValue
- value expected to be associated with the specified key
newValue
- value to be associated with the specified key
true
if the value was replaced
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of a specified key or value prevents it from being stored in this map
NullPointerException
- if a specified key or newValue is null, and this map does not permit null keys or values
NullPointerException
- if oldValue is null and this map does not permit null values (optional)
IllegalArgumentException
- if some property of a specified key or value prevents it from being stored in this map
default V replace(K key, V value)
Replaces the entry for the specified key only if it is currently mapped to some value.
map
:
if (map.containsKey(key)) {
return map.put(key, value);
} else
return null;
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
key
- key with which the specified value is associated
value
- value to be associated with the specified key
null
if there was no mapping for the key. (A null
return can also indicate that the map previously associated null
with the key, if the implementation supports null values.)
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map (optional)
NullPointerException
- if the specified key or value is null, and this map does not permit null keys or values
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map
default V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped to
null
), attempts to compute its value using the given mapping function and enters it into this map unless
null
.
If the mapping function returns null
, no mapping is recorded. If the mapping function itself throws an (unchecked) exception, the exception is rethrown, and no mapping is recorded. The most common usage is to construct a new object serving as an initial mapped value or memoized result, as in:
map.computeIfAbsent(key, k -> new Value(f(k)));
Or to implement a multi-value map, Map<K,Collection<V>>
, supporting multiple values per key:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
The mapping function should not modify this map during computation.
map
, then returning the current value or null
if now absent:
if (map.get(key) == null) {
V newValue = mappingFunction.apply(key);
if (newValue != null)
map.put(key, newValue);
}
The default implementation makes no guarantees about detecting if the mapping function modifies this map during computation and, if appropriate, reporting an error. Non-concurrent implementations should override this method and, on a best-effort basis, throw a ConcurrentModificationException
if it is detected that the mapping function modifies this map during computation. Concurrent implementations should override this method and, on a best-effort basis, throw an IllegalStateException
if it is detected that the mapping function modifies this map during computation and as a result computation would never complete.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties. In particular, all implementations of subinterface ConcurrentMap
must document whether the mapping function is applied once atomically only if the value is not present.
key
- key with which the specified value is to be associated
mappingFunction
- the mapping function to compute a value
NullPointerException
- if the specified key is null and this map does not support null keys, or the mappingFunction is null
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map (optional)
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map (optional)
default V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value.
If the remapping function returns null
, the mapping is removed. If the remapping function itself throws an (unchecked) exception, the exception is rethrown, and the current mapping is left unchanged.
The remapping function should not modify this map during computation.
map
, then returning the current value or null
if now absent:
if (map.get(key) != null) {
V oldValue = map.get(key);
V newValue = remappingFunction.apply(key, oldValue);
if (newValue != null)
map.put(key, newValue);
else
map.remove(key);
}
The default implementation makes no guarantees about detecting if the remapping function modifies this map during computation and, if appropriate, reporting an error. Non-concurrent implementations should override this method and, on a best-effort basis, throw a ConcurrentModificationException
if it is detected that the remapping function modifies this map during computation. Concurrent implementations should override this method and, on a best-effort basis, throw an IllegalStateException
if it is detected that the remapping function modifies this map during computation and as a result computation would never complete.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties. In particular, all implementations of subinterface ConcurrentMap
must document whether the remapping function is applied once atomically only if the value is not present.
key
- key with which the specified value is to be associated
remappingFunction
- the remapping function to compute a value
NullPointerException
- if the specified key is null and this map does not support null keys, or the remappingFunction is null
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map (optional)
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map (optional)
default V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or
null
if there is no current mapping). For example, to either create or append a
String
msg to a value mapping:
map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))
(Method
merge()
is often simpler to use for such purposes.)
If the remapping function returns null
, the mapping is removed (or remains absent if initially absent). If the remapping function itself throws an (unchecked) exception, the exception is rethrown, and the current mapping is left unchanged.
The remapping function should not modify this map during computation.
map
, then returning the current value or null
if absent:
V oldValue = map.get(key);
V newValue = remappingFunction.apply(key, oldValue);
if (oldValue != null) {
if (newValue != null)
map.put(key, newValue);
else
map.remove(key);
} else {
if (newValue != null)
map.put(key, newValue);
else
return null;
}
The default implementation makes no guarantees about detecting if the remapping function modifies this map during computation and, if appropriate, reporting an error. Non-concurrent implementations should override this method and, on a best-effort basis, throw a ConcurrentModificationException
if it is detected that the remapping function modifies this map during computation. Concurrent implementations should override this method and, on a best-effort basis, throw an IllegalStateException
if it is detected that the remapping function modifies this map during computation and as a result computation would never complete.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties. In particular, all implementations of subinterface ConcurrentMap
must document whether the remapping function is applied once atomically only if the value is not present.
key
- key with which the specified value is to be associated
remappingFunction
- the remapping function to compute a value
NullPointerException
- if the specified key is null and this map does not support null keys, or the remappingFunction is null
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map (optional)
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map (optional)
default V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value. Otherwise, replaces the associated value with the results of the given remapping function, or removes if the result is
null
. This method may be of use when combining multiple mapped values for a key. For example, to either create or append a
String msg
to a value mapping:
map.merge(key, msg, String::concat)
If the remapping function returns null
, the mapping is removed. If the remapping function itself throws an (unchecked) exception, the exception is rethrown, and the current mapping is left unchanged.
The remapping function should not modify this map during computation.
map
, then returning the current value or null
if absent:
V oldValue = map.get(key);
V newValue = (oldValue == null) ? value :
remappingFunction.apply(oldValue, value);
if (newValue == null)
map.remove(key);
else
map.put(key, newValue);
The default implementation makes no guarantees about detecting if the remapping function modifies this map during computation and, if appropriate, reporting an error. Non-concurrent implementations should override this method and, on a best-effort basis, throw a ConcurrentModificationException
if it is detected that the remapping function modifies this map during computation. Concurrent implementations should override this method and, on a best-effort basis, throw an IllegalStateException
if it is detected that the remapping function modifies this map during computation and as a result computation would never complete.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties. In particular, all implementations of subinterface ConcurrentMap
must document whether the remapping function is applied once atomically only if the value is not present.
key
- key with which the resulting value is to be associated
value
- the non-null value to be merged with the existing value associated with the key or, if no existing value or a null value is associated with the key, to be associated with the key
remappingFunction
- the remapping function to recompute a value if present
UnsupportedOperationException
- if the put
operation is not supported by this map (optional)
ClassCastException
- if the class of the specified key or value prevents it from being stored in this map (optional)
IllegalArgumentException
- if some property of the specified key or value prevents it from being stored in this map (optional)
NullPointerException
- if the specified key is null and this map does not support null keys or the value or remappingFunction is null
static <K,V> Map<K,V> of()
Returns an unmodifiable map containing zero mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
Map
static <K,V> Map<K,V> of(K k1, V v1)
Returns an unmodifiable map containing a single mapping. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the mapping's key
v1
- the mapping's value
Map
containing the specified mapping
NullPointerException
- if the key or the value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2)
Returns an unmodifiable map containing two mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if the keys are duplicates
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
Returns an unmodifiable map containing three mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Returns an unmodifiable map containing four mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<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 unmodifiable map containing five mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)
Returns an unmodifiable map containing six mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
k6
- the sixth mapping's key
v6
- the sixth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)
Returns an unmodifiable map containing seven mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
k6
- the sixth mapping's key
v6
- the sixth mapping's value
k7
- the seventh mapping's key
v7
- the seventh mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)
Returns an unmodifiable map containing eight mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
k6
- the sixth mapping's key
v6
- the sixth mapping's value
k7
- the seventh mapping's key
v7
- the seventh mapping's value
k8
- the eighth mapping's key
v8
- the eighth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9)
Returns an unmodifiable map containing nine mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
k6
- the sixth mapping's key
v6
- the sixth mapping's value
k7
- the seventh mapping's key
v7
- the seventh mapping's value
k8
- the eighth mapping's key
v8
- the eighth mapping's value
k9
- the ninth mapping's key
v9
- the ninth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10)
Returns an unmodifiable map containing ten mappings. See
Unmodifiable Mapsfor details.
K
- the Map
's key type
V
- the Map
's value type
k1
- the first mapping's key
v1
- the first mapping's value
k2
- the second mapping's key
v2
- the second mapping's value
k3
- the third mapping's key
v3
- the third mapping's value
k4
- the fourth mapping's key
v4
- the fourth mapping's value
k5
- the fifth mapping's key
v5
- the fifth mapping's value
k6
- the sixth mapping's key
v6
- the sixth mapping's value
k7
- the seventh mapping's key
v7
- the seventh mapping's value
k8
- the eighth mapping's key
v8
- the eighth mapping's value
k9
- the ninth mapping's key
v9
- the ninth mapping's value
k10
- the tenth mapping's key
v10
- the tenth mapping's value
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any key or value is null
@SafeVarargs static <K,V> Map<K,V> ofEntries(Map.Entry<? extends K,? extends V>... entries)
Returns an unmodifiable map containing keys and values extracted from the given entries. The entries themselves are not stored in the map. See
Unmodifiable Mapsfor details.
Map.entry()
method. For example,
import static java.util.Map.entry;
Map<Integer,String> map = Map.ofEntries(
entry(1, "a"),
entry(2, "b"),
entry(3, "c"),
...
entry(26, "z"));
K
- the Map
's key type
V
- the Map
's value type
entries
- Map.Entry
s containing the keys and values from which the map is populated
Map
containing the specified mappings
IllegalArgumentException
- if there are any duplicate keys
NullPointerException
- if any entry, key, or value is null
, or if the entries
array is null
Map.entry()
static <K,V> Map.Entry<K,V> entry(K k, V v)
Returns an unmodifiable
Map.Entry
containing the given key and value. These entries are suitable for populating
Map
instances using the
Map.ofEntries()
method. The
Entry
instances created by this method have the following characteristics:
null
keys and values. Attempts to create them using a null
key or value result in NullPointerException
.Entry.setValue()
on a returned Entry
result in UnsupportedOperationException
.==
), identity hash code, and synchronization) are unreliable and should be avoided.Entry
, see AbstractMap.SimpleEntry
or AbstractMap.SimpleImmutableEntry
.
K
- the key's type
V
- the value's type
k
- the key
v
- the value
Entry
containing the specified key and value
NullPointerException
- if the key or value is null
Map.ofEntries()
static <K,V> Map<K,V> copyOf(Map<? extends K,? extends V> map)
Returns an
unmodifiable Mapcontaining the entries of the given Map. The given Map must not be null, and it must not contain any null keys or values. If the given Map is subsequently modified, the returned Map will not reflect such modifications.
K
- the Map
's key type
V
- the Map
's value type
map
- a Map
from which entries are drawn, must be non-null
Map
containing the entries of the given Map
NullPointerException
- if map is null, or if it contains any null keys or values
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4