A hash-table based implementation of Map.
The keys of a HashMap
must have consistent Object.==
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 iteration 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
Constructors
- HashMap({bool equals(K key1, K key2), int hashCode(K key), bool isValidKey(potentialKey) })
-
Creates an unordered hash-table based Map.
factory - HashMap.from(Map other)
-
Creates a HashMap that contains all key/value pairs of
other
.factory - HashMap.fromIterable(Iterable iterable, { K key(element), V value(element) })
-
Creates a HashMap where the keys and values are computed from the
iterable
.factory - HashMap.fromIterables(Iterable<K> keys, Iterable<V> values)
-
Creates a HashMap associating the given
keys
tovalues
.factory - HashMap.identity()
-
Creates an unordered identity-based map.
factory
Properties
- hashCode → int
-
Get a hash code for this object.
read-only, inherited - isEmpty → bool
-
Returns true if there is no key-value pair in the map.
read-only, inherited - isNotEmpty → bool
-
Returns true if 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
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited -
operator [](
Object key) → V -
Returns the value for the given
key
or null ifkey
is not in the map.inherited -
operator []=(
K key, V value) → void -
Associates the
key
with the givenvalue
.inherited
Methods
-
addAll(
Map<K, V> other) → void -
Adds all key-value pairs of
other
to this map.inherited -
clear(
) → void -
Removes all pairs from the map.
inherited -
containsKey(
Object key) → bool -
Returns true if this map contains the given
key
.inherited -
containsValue(
Object value) → bool -
Returns true if this map contains the given
value
.inherited -
forEach(
void f(K key, V value)) → void -
Applies
f
to each key-value pair of the map.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited -
putIfAbsent(
K key, V ifAbsent()) → V -
Look up the value of
key
, or add a new value if it isn't there.inherited -
remove(
Object key) → V -
Removes
key
and its associated value, if present, from the map.inherited -
toString(
) → String -
Returns a string representation of this object.
inherited