UnmodifiableMapBase<K, V> class

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 Iterable.length and Iterable.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

Constructors

UnmodifiableMapBase()

Properties

entries Iterable<MapEntry<K, V>>
The map entries of this.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
isEmpty bool
Returns true if there is no key/value pair in the map.
read-only, inherited
isNotEmpty bool
Returns true if there is at least one key/value pair in the map.
read-only, inherited
keys Iterable<K>
The keys of this. [...]
read-only, inherited
length int
The number of key/value pairs in the map.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
values Iterable<V>
The values of this. [...]
read-only, inherited

Methods

addAll(Map<K, V> other) → void
This operation is not supported by an unmodifiable map.
inherited
addEntries(Iterable<MapEntry<K, V>> newEntries) → void
Adds all key/value pairs of newEntries to this map. [...]
inherited
cast<RK, RV>() Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary. [...]
inherited
clear() → void
This operation is not supported by an unmodifiable map.
inherited
containsKey(Object key) bool
Returns true if this map contains the given key. [...]
inherited
containsValue(Object value) bool
Returns true if this map contains the given value. [...]
inherited
forEach(void action(K key, V value)) → void
Applies f to each key/value pair of the map. [...]
inherited
map<K2, V2>(MapEntry<K2, V2> transform(K key, V value)) Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given f function.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
putIfAbsent(K key, V ifAbsent()) → V
This operation is not supported by an unmodifiable map.
inherited
remove(Object key) → V
This operation is not supported by an unmodifiable map.
inherited
removeWhere(bool test(K key, V value)) → void
Removes all entries of this map that satisfy the given predicate.
inherited
toString() String
Returns a string representation of this object.
inherited
update(K key, V update(V value), { V ifAbsent() }) → V
Updates the value for the provided key. [...]
inherited
updateAll(V update(K key, V value)) → void
Updates all values. [...]
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited
operator [](Object key) → V
Returns the value for the given key or null if key is not in the map. [...]
inherited
operator []=(K key, V value) → void
This operation is not supported by an unmodifiable map.
inherited