A hash-table based implementation of Map.
The insertion order of keys is remembered, and keys are iterated in the order they were inserted into the map. Values are iterated in their corresponding key's order. Changing a key's value, when the key is already in the map, does not change the iteration order, but removing the key and adding it again will make it be last in the iteration order.
The keys of a LinkedHashMap
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.
- Implements
-
- HashMap<K,V>
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
- LinkedHashMap({bool equals(K key1, K key2), int hashCode(K key), bool isValidKey(potentialKey)})
- Creates an insertion-ordered hash-table based Map.
- LinkedHashMap.from(Map other)
-
Creates a LinkedHashMap that contains all key value pairs of
other
. - LinkedHashMap.fromIterable(Iterable iterable, {K key(element), V value(element)})
-
Creates a LinkedHashMap where the keys and values are computed from the
iterable
. - LinkedHashMap.fromIterables(Iterable<K> keys, Iterable<V> values)
-
Creates a LinkedHashMap associating the given
keys
tovalues
. - LinkedHashMap.identity()
- Creates an insertion-ordered 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.