MutableOrderedMap<K, V> class
A mutable ordered map that maintains insertion order with key-based access.
This class provides a map-like interface while preserving the order in which key-value pairs were added. It combines the benefits of both lists (ordered iteration) and maps (fast key-based lookup). All operations maintain insertion order.
final map = MutableOrderedMap<String, User>();
map.upsert('user1', User(id: 'user1', name: 'Alice'));
map.upsert('user2', User(id: 'user2', name: 'Bob'));
map.upsert('user3', User(id: 'user3', name: 'Charlie'));
print(map.orderedValues.map((u) => u.name)); // ['Alice', 'Bob', 'Charlie']
print(map['user2']?.name); // 'Bob'
@ai Use this class when you need both ordered iteration and fast key-based access. Consider using ImmutableOrderedMap if you need immutability guarantees.
- Mixed-in types
-
- Iterable<
K>
- Iterable<
- Available extensions
Constructors
-
MutableOrderedMap({OrderedMapToKeyFunction<
K, V> ? toKey}) - Creates an empty mutable ordered map.
Properties
-
entries
→ Iterable<
MapEntry< K, V> > -
Returns an iterable of all key-value pairs in this map.
no setter
- first → K
-
The first element.
no setterinherited
- firstOrNull → T?
-
Available on Iterable<
The first element of this iterator, orT> , provided by the IterableExtensions extensionnullif the iterable is empty.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
-
indexed
→ Iterable<
(int, T)> -
Available on Iterable<
Pairs of elements of the indices and elements of this iterable.T> , provided by the IterableExtensions extensionno setter - isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
-
iterator
→ Iterator<
K> -
A new
Iteratorthat allows iterating the elements of thisIterable.no setteroverride - last → K
-
The last element.
no setterinherited
- lastOrNull → T?
-
Available on Iterable<
The last element of this iterable, orT> , provided by the IterableExtensions extensionnullif the iterable is empty.no setter - length → int
-
The number of elements in this Iterable.
no setterinherited
-
nonNulls
→ Iterable<
T> -
Available on Iterable<
The non-T?> , provided by the NullableIterableExtensions extensionnullelements of this iterable.no setter -
orderedValues
→ List<
V> -
Returns an unmodifiable list of all values in insertion order.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → K
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
- singleOrNull → T?
-
Available on Iterable<
The single element of this iterator, orT> , provided by the IterableExtensions extensionnull.no setter -
toJSIterable
→ JSIterable<
T> -
Available on Iterable<
A JSIterable wrapper that proxies to the Dart iterable API.T> , provided by the IterableToJSIterable extensionno setter -
toKey
→ OrderedMapToKeyFunction<
K, V> ? -
A function that converts values to their corresponding keys.
final
-
values
→ Iterable<
V> -
Returns an iterable of all values in this map.
no setter
-
wait
→ Future<
List< T> > -
Available on Iterable<
Waits for futures in parallel.Future< , provided by the FutureIterable extensionT> >no setter
Methods
-
any(
bool test(K element)) → bool -
Checks whether any element of this iterable satisfies
test.inherited -
asNameMap(
) → Map< String, T> -
Available on Iterable<
Creates a map from the names of enum values to the values.T> , provided by the EnumByName extension -
assignAll(
Map< K, V> map) → void -
Replaces all items in this collection with the provided
map. -
assignAllOrdered(
Iterable< V> items) → void -
Replaces all items in this collection with values from the provided
itemslist. -
byName(
String name) → T -
Available on Iterable<
Finds the enum value in this list with nameT> , provided by the EnumByName extensionname. -
cast<
R> () → Iterable< R> -
A view of this iterable as an iterable of
Rinstances.inherited -
clear(
) → void - Removes all mappings from this map.
-
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element.inherited -
containsKey(
K key) → bool -
Whether this map contains the specified
key. -
elementAt(
int index) → K -
Returns the
indexth element.inherited -
elementAtOrNull(
int index) → T? -
Available on Iterable<
The element at positionT> , provided by the IterableExtensions extensionindexof this iterable, ornull. -
every(
bool test(K element)) → bool -
Checks whether every element of this iterable satisfies
test.inherited -
expand<
T> (Iterable< T> toElements(K element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
firstWhere(
bool test(K element), {K orElse()?}) → K -
The first element that satisfies the given predicate
test.inherited -
fold<
T> (T initialValue, T combine(T previousValue, K element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< K> other) → Iterable<K> -
Creates the lazy concatenation of this iterable and
other.inherited -
forEach(
void action(K element)) → void -
Invokes
actionon each element of this iterable in iteration order.inherited -
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(K element), {K orElse()?}) → K -
The last element that satisfies the given predicate
test.inherited -
map<
T> (T toElement(K e)) → Iterable< T> -
The current elements of this iterable modified by
toElement.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reduce(
K combine(K value, K element)) → K -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
remove(
K key) → void -
Removes the mapping for the specified
keyif it exists. -
singleWhere(
bool test(K element), {K orElse()?}) → K -
The single element that satisfies
test.inherited -
skip(
int count) → Iterable< K> -
Creates an Iterable that provides all but the first
countelements.inherited -
skipWhile(
bool test(K element)) → Iterable< K> -
Creates an
Iterablethat skips leading elements whiletestis satisfied.inherited -
take(
int count) → Iterable< K> -
Creates a lazy iterable of the
countfirst elements of this iterable.inherited -
takeWhile(
bool test(K element)) → Iterable< K> -
Creates a lazy iterable of the leading elements satisfying
test.inherited -
toList(
{bool growable = true}) → List< K> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< K> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
Returns a string representation of (some of) the elements of
this.inherited -
update(
K key, V update(V), {V ifAbsent()?}) → V -
Updates the value associated with the specified
keyusing the providedupdatefunction. -
upsert(
V value, {K? key}) → void -
Inserts or updates the mapping for the specified
keyandvalue. -
upsertAll(
Iterable< V> values, {K? toKey(V)?}) → void -
Inserts or updates multiple mappings from the provided
valuesiterable. -
where(
bool test(K element)) → Iterable< K> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test.inherited -
whereType<
T> () → Iterable< R> -
Creates a new lazy Iterable with all elements that have type
T.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
K key) → V? -
Retrieves the value associated with the specified
key.