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.

Implements
Implemented by

Properties

isEmpty bool
read-only

isNotEmpty bool
read-only

keys Iterable<K>
read-only

length int
read-only

values Iterable<V>
read-only

Constructors

MapMixin()

Operators

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.

Methods

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(V 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.