Basic implementation of an unmodifiable Map.

This class has a basic implementation of all but two of the members of an umodifiable Map. A simple unmodifiable Map class can be implemented by extending this class and implementing keys and operator[].

Modifying operations throw when used. The remaining non-modifying operations are implemented in terms of keys and operator[].

The keys iterable should have efficient length and contains operations, and it should catch concurrent modifications of the keys while iterating.

A more efficient implementation is usually possible by overriding some of the other members as well.

Inheritance

Properties

isEmpty bool
read-only, inherited

isNotEmpty bool
read-only, inherited

keys Iterable<K>
read-only, inherited

length int
read-only, inherited

values Iterable<V>
read-only, inherited

Constructors

UnmodifiableMapBase()
const

Operators

operator [](Object key) → V
inherited

Returns the value for the given key or null if key is not in the map.

operator []=(K key, V value) → void
inherited

Associates the key with the given value.

Methods

addAll(Map<K,V> other) → void
inherited

Adds all key-value pairs of other to this map.

clear() → void
inherited

Removes all pairs from the map.

containsKey(Object key) → bool
inherited

Returns true if this map contains the given key.

containsValue(V value) → bool
inherited

Returns true if this map contains the given value.

forEach(void action(K key, V value)) → void
inherited

Applies f to each key-value pair of the map.

putIfAbsent(K key, V ifAbsent()) → V
inherited

Look up the value of key, or add a new value if it isn't there.

remove(Object key) → V
inherited

Removes key and its associated value, if present, from the map.

toString() → String
inherited

Returns a string representation of this object.