A hash-table based implementation of Map.
The keys of a HashMap
must have consistent Object.operator==
and Object.hashCode implementations. This means that the ==
operator
must define a stable equivalence relation on the keys (reflexive,
symmetric, transitive, and consistent over time), and that hashCode
must be the same for objects that are considered equal by ==
.
The map allows null
as a key.
Iterating the map's keys, values or entries (through forEach) may happen in any order. The itearation order only changes when the map is modified. Values are iterated in the same order as their associated keys, so iterating the keys and values in parallel will give matching key and value pairs.
- Implements
-
- Map<K,V>
- Implemented by
Properties
- bool isEmpty
-
read-only, inheritedReturns true if there is no key-value pair in the map.
- bool isNotEmpty
-
read-only, inheritedReturns true if there is at least one key-value pair in the map.
- Iterable<K> keys
-
read-only, inheritedThe keys of
this
. - int length
-
read-only, inheritedThe number of key-value pairs in the map.
- Iterable<V> values
-
read-only, inheritedThe values of
this
.
Constructors
- HashMap({bool equals(K key1, K key2), int hashCode(K key), bool isValidKey(potentialKey)})
- Creates an unordered hash-table based Map.
- HashMap.from(Map other)
-
Creates a HashMap that contains all key/value pairs of
other
. - HashMap.fromIterable(Iterable iterable, {K key(element), V value(element)})
-
Creates a HashMap where the keys and values are computed from the
iterable
. - HashMap.fromIterables(Iterable<K> keys, Iterable<V> values)
-
Creates a HashMap associating the given
keys
tovalues
. - HashMap.identity()
- Creates an unordered identity-based map.
Operators
-
operator [](
Object key) → V -
inheritedReturns the value for the given
key
or null ifkey
is not in the map. -
operator []=(
K key, V value) → void -
inheritedAssociates the
key
with the givenvalue
.
Methods
-
addAll(
Map<K,V> other) → void -
inheritedAdds all key-value pairs of
other
to this map. -
clear(
) → void -
inheritedRemoves all pairs from the map.
-
containsKey(
Object key) → bool -
inheritedReturns true if this map contains the given
key
. -
containsValue(
Object value) → bool -
inheritedReturns true if this map contains the given
value
. -
forEach(
void f(K key, V value)) → void -
inheritedApplies
f
to each key-value pair of the map. -
putIfAbsent(
K key, V ifAbsent()) → V -
inheritedLook up the value of
key
, or add a new value if it isn't there. -
remove(
Object key) → V -
inheritedRemoves
key
and its associated value, if present, from the map.