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 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()
const

Properties

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

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 nonexistent 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