CanonicalizedMap<C, K, V> class
A map whose keys are converted to canonical values of type C
.
This is useful for using case-insensitive String keys, for example. It's more efficient than a LinkedHashMap with a custom equality operator because it only canonicalizes each key once, rather than doing so for each comparison.
- Implemented types
-
- Map<
K, V>
- Map<
- Available extensions
Constructors
- CanonicalizedMap.new(C canonicalize(K key), {bool isValidKey(K key)?})
- Creates an empty canonicalized map.
-
CanonicalizedMap.from(Map<
K, V> other, C canonicalize(K key), {bool isValidKey(K key)?}) -
Creates a canonicalized map that is initialized with the key/value pairs
of
other
. -
CanonicalizedMap.fromEntries(Iterable<
MapEntry< entries, C canonicalize(K key), {bool isValidKey(K key)?})K, V> > -
Creates a canonicalized map that is initialized with the key/value pairs
of
entries
.
Properties
-
entries
→ Iterable<
MapEntry< K, V> > -
The map entries of this Map.
no setteroverride
- genericTypeKey → Type
-
Available on Map<
Returns the generic type of the map's keys.K, V> , provided by the GenericTypeOnMapExt extensionno setter - genericTypeValue → Type
-
Available on Map<
Returns the generic type of the map's values.K, V> , provided by the GenericTypeOnMapExt extensionno setter - hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether there is no key/value pair in the map.
no setteroverride
- isNotEmpty → bool
-
Whether there is at least one key/value pair in the map.
no setteroverride
-
keys
→ Iterable<
K> -
The keys of this Map.
no setteroverride
- length → int
-
The number of key/value pairs in the map.
no setteroverride
-
noneIfEmpty
→ Option<
Map< K, V> > -
Available on Map<
Returns this map wrapped in a Some if it's not empty, otherwise returns None.K, V> , provided by the MapExt extensionno setter -
nonNullKeys
→ Map<
K, V> -
Available on Map<
Returns a new map with all non-null keys and values.K?, V> , provided by the NonNullKeysOnMapExt extensionno setter -
nonNulls
→ Map<
K, V> -
Available on Map<
Returns a new map with all non-null keys and values.K?, V?> , provided by the NonNullsOnMapExt extensionno setter -
nonNullValues
→ Map<
K, V> -
Available on Map<
Returns a new map with all non-null keys and values.K, V?> , provided by the NonNullValuesOnMapExt extensionno setter -
nullIfEmpty
→ Map<
T1, T2> ? -
Available on Map<
Returns null if the Map is empty, otherwise returns the Map.T1, T2> , provided by the NullIfEmptyOnMapExt extensionno setter -
okValues
→ Map<
K, V> -
Available on Map<
Returns a new map containing only the unwrapped values from Ok entries.K, Result< , provided by the MapOfResults extensionV> >no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
someValues
→ Map<
K, V> -
Available on Map<
Returns a new map containing only the unwrapped values from Some entries.K, Option< , provided by the MapOfOptions extensionV> >no setter -
unmodifiable
→ Map<
K, V> -
Available on Map<
K, V> , provided by the UnmodifiableOnMapExt extensionno setter -
values
→ Iterable<
V> -
The values of this Map.
no setteroverride
Methods
-
addAll(
Map< K, V> other) → void -
Adds all key/value pairs of
other
to this map.override -
addEntries(
Iterable< MapEntry< entries) → voidK, V> > -
Adds all key/value pairs of
newEntries
to this map.override -
cast<
K2, V2> () → Map< K2, V2> -
Provides a view of this map as having
RK
keys andRV
instances, if necessary.override -
clear(
) → void -
Removes all entries from the map.
override
-
containsKey(
Object? key) → bool -
Whether this map contains the given
key
.override -
containsValue(
Object? value) → bool -
Whether this map contains the given
value
.override -
copy(
) → CanonicalizedMap< C, K, V> - Copies this CanonicalizedMap instance without recalculating the canonical values of the keys.
-
deepGet(
String path, {String separator = '.'}) → dynamic -
Available on Map, provided by the DeepGetOnMapExt extension
Safely retrieves and converts a value from a nested data structure using a dot-separatedpath
. -
deepGetFromSegments(
Iterable pathSegments) → dynamic -
Available on Map, provided by the DeepGetOnMapExt extension
Safely retrieves and converts a value from a nested data structure using a list of pathpathSegments
. -
filterByExcludedKeys(
List< K> excludedKeys) → Map<K, V> -
Available on Map<
Filters the map's entries based on a list of excluded keys. Returns a new map excluding the key-value pairs where the key is found within theK, V> , provided by the MapWithDefaultOnMapExt extensionexcludedKeys
. -
filterByExcludedValues(
List< V> excludedValues) → Map<K, V> -
Available on Map<
Filters the map's entries based on a list of excluded values. Returns a new map excluding the key-value pairs where the value is found within theK, V> , provided by the MapWithDefaultOnMapExt extensionexcludedValues
. -
filterByIncludedKeys(
List< K> includedKeys) → Map<K, V> -
Available on Map<
Filters the map's entries based on a list of included keys. Returns a new map containing only the key-value pairs where the key is found within theK, V> , provided by the MapWithDefaultOnMapExt extensionincludedKeys
. -
filterByIncludedValues(
List< V> includedValues) → Map<K, V> -
Available on Map<
Filters the map's entries based on a list of included values. Returns a new map containing only the key-value pairs where the value is found within theK, V> , provided by the MapWithDefaultOnMapExt extensionincludedValues
. -
forEach(
void f(K, V)) → void -
Applies
action
to each key/value pair of the map.override -
getOption(
K key) → Option< V> -
Available on Map<
Safely gets the value for a givenK, V> , provided by the MapExt extensionkey
, returning an Option. -
map<
K2, V2> (MapEntry< K2, V2> transform(K, V)) → Map<K2, V2> -
Returns a new map where all entries of this map are transformed by
the given
convert
function.override -
mapKeys<
K2> (K2 mapper(K1 key)) → Map< K2, V1> -
Available on Map<
Returns a new map with new keys and the same values.K1, V1> , provided by the MapKeysAndValyesOnMapExt extension -
mapValues<
V2> (V2 mapper(V1 value)) → Map< K1, V2> -
Available on Map<
Returns a new map with the same keys and new values.K1, V1> , provided by the MapKeysAndValyesOnMapExt extension -
mapWithDefault(
dynamic defaultValue) → Map< K, dynamic> -
Available on Map<
Returns a new map with the same keys as this map but with the specifiedK, V> , provided by the MapWithDefaultOnMapExt extensiondefaultValue
for all values that are null. IfdefaultValue
is null, it simply returns a copy of the original map. -
maybeAdd(
Map< T1, T2> ? add) → Map<T1, T2> -
Available on Map<
AddsT1, T2> , provided by the MaybeAddToMapExt extensionadd
to this its not null. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
partition(
) → MapOptionPartition< K, V> -
Available on Map<
Partitions the map into a record containing two maps: one for Some values and one for None values.K, Option< , provided by the MapOfOptions extensionV> > -
partition(
) → MapResultPartition< K, V> -
Available on Map<
Partitions the map into a record containing two maps: one for Ok values and one for Err values.K, Result< , provided by the MapOfResults extensionV> > -
putIfAbsent(
K key, V ifAbsent()) → V -
Look up the value of
key
, or add a new entry if it isn't there.override -
remove(
Object? key) → V? -
Removes
key
and its associated value, if present, from the map.override -
removeWhere(
bool test(K key, V value)) → void -
Removes all entries of this map that satisfy the given
test
.override -
retype<
K2, V2> () → Map< K2, V2> -
sequence(
) → Option< Map< K, V> > -
Available on Map<
Turns aK, Option< , provided by the MapOfOptions extensionV> >Map<K, Option<V>>
into anOption<Map<K, V>>
. If all values are Some, it returns aSome<Map<K, V>>
. If any value is a None, it returns None. -
sequence(
) → Result< Map< K, V> > -
Available on Map<
Turns aK, Result< , provided by the MapOfResults extensionV> >Map<K, Result<V>>
into aResult<Map<K, V>>
. If all values are Ok, it returns anOk<Map<K, V>>
. If any value is an Err, it returns the first Err encountered. -
setNestedValue(
List keyPath, dynamic value) → void -
Available on Map, provided by the SetNestedValueOnMapExt extension
Sets avalue
in a nested map structure, creating intermediate maps as needed. -
toMap(
) → Map< K, V> -
Creates a
Map<K,V>
(with the original key values). See toMapOfCanonicalKeys. -
toMapOfCanonicalKeys(
) → Map< C, V> -
Creates a
Map<C,V>
(with the canonicalized keys). See toMap. -
toString(
) → String -
A string representation of this object.
override
-
traverse(
List keys, {dynamic newValue}) → dynamic -
Available on Map<
See traverseMap.K, V> , provided by the TraverseMapOnMapExt extension -
update(
K key, V update(V), {V ifAbsent()?}) → V -
Updates the value for the provided
key
.override -
updateAll(
V update(K key, V value)) → void -
Updates all values.
override
-
whereErr(
) → Map< K, Err< V> > -
Available on Map<
Creates a new map containing only the entries where the value is an Err. The values in the new map are instances of Err<V>.K, Result< , provided by the MapOfResults extensionV> > -
whereNone(
) → Map< K, None< V> > -
Available on Map<
Creates a new map containing only the entries where the value is a None.K, Option< , provided by the MapOfOptions extensionV> > -
whereOk(
) → Map< K, Ok< V> > -
Available on Map<
Creates a new map containing only the entries where the value is an Ok. The values in the new map are instances of Ok<V>.K, Result< , provided by the MapOfResults extensionV> > -
whereSome(
) → Map< K, Some< V> > -
Available on Map<
Creates a new map containing only the entries where the value is a Some. The values in the new map are instances of Some<V>.K, Option< , provided by the MapOfOptions extensionV> >
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
Object? key) → V? -
The value for the given
key
, ornull
ifkey
is not in the map.override -
operator []=(
K key, V value) → void -
Associates the
key
with the givenvalue
.override