Mixin implementing a Map.

This mixin has a basic implementation of all but five of the members of Map. A basic Map class can be implemented by mixin in this class and implementing keys, operator[], operator[]=, remove and clear. The remaining operations are implemented in terms of these five.

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.

Implemented by




isEmpty bool

isNotEmpty bool

keys Iterable<K>

length int

values Iterable<V>

hashCode int

The hash code for this object.

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited


operator [](Object key) → V

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

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

Associates the key with the given value.

operator ==(other) bool

The equality operator.



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

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

clear() → void

Removes all pairs from the map.

containsKey(Object key) bool

Returns true if this map contains the given key.

containsValue(Object value) bool

Returns true if this map contains the given value.

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

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

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

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

remove(Object key) → V

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

toString() String

Returns a string representation of this object.

noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.