UnmodifiableMapBase<K, V> class Null safety

Basic implementation of an unmodifiable Map.

This class has a basic implementation of all but two of the members of an unmodifiable 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
Whether there is no key/value pair in the map.
read-only, inherited
isNotEmpty bool
Whether 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>> entries) → void
This operation is not supported by an unmodifiable 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
Whether this map contains the given key. [...]
inherited
containsValue(Object? value) bool
Whether this map contains the given value. [...]
inherited
forEach(void action(K key, V value)) → void
Applies action 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 convert 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
This operation is not supported by an unmodifiable map.
inherited
toString() String
A string representation of this object. [...]
inherited
update(K key, V update(V value), {V ifAbsent()?}) → V
This operation is not supported by an unmodifiable map.
inherited
updateAll(V update(K key, V value)) → void
This operation is not supported by an unmodifiable map.
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited
operator [](Object? key) → V?
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