Trie<K, P extends Comparable<P> , V> class
A generalized Trie (or prefix tree) which keys of type K
split into
parts of type P
, and values of type V
.
- Inheritance
- Available extensions
Constructors
-
Trie({required GetParts<
K, P> parts, TrieNode<K, P, V> ? root}) -
Creates an empty Trie that splits the keys of type
K
intoparts
of typeP
with the provided function. Optionally a customroot
node can be provided.factory -
Trie.fromIterable(Iterable<
Object?> iterable, {required GetParts<K, P> parts, TrieNode<K, P, V> ? root, K key(Object? element)?, V value(Object? element)?}) -
Creates a Trie from an iterable (and possible transformation functions).
The
parts
define how the keys are computed and optionally provides a customroot
node.factory -
Trie.fromIterables(Iterable<
K> keys, Iterable<V> values, {required GetParts<K, P> parts, TrieNode<K, P, V> ? root}) -
Creates a Trie from two equal length iterables. The
parts
define how the keys are computed and optionally provides a customroot
node.factory -
Trie.fromMap(Map<
K, V> other, {required GetParts<K, P> parts, TrieNode<K, P, V> ? root}) -
Creates a Trie from a Map. The
parts
define how the keys are computed and optionally provides a customroot
node.factory -
Trie.fromTrie(Trie<
K, P, V> other, {GetParts<K, P> ? parts, TrieNode<K, P, V> ? root}) -
Creates a Trie from another instance. Optionally redefines how the
parts
of the keys are computed and provides a customroot
node.factory
Properties
-
entries
→ Iterable<
MapEntry< K, V> > -
The map entries of this Map.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether there is no key/value pair in the map.
no setterinherited
- isNotEmpty → bool
-
Whether there is at least one key/value pair in the map.
no setterinherited
-
keys
→ Iterable<
K> -
The keys of this Map.
no setteroverride
- length → int
-
The number of key/value pairs in the map.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
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.inherited -
addEntries(
Iterable< MapEntry< newEntries) → voidK, V> > -
Adds all key/value pairs of
newEntries
to this map.inherited -
cast<
RK, RV> () → Map< RK, RV> -
Provides a view of this map as having
RK
keys andRV
instances, if necessary.inherited -
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
.inherited -
entriesWithPrefix(
K prefix) → Iterable< MapEntry< K, V> > -
An Iterable over the MapEntry objects with
prefix
. -
forEach(
void action(K key, V value)) → void -
Applies
action
to each key/value pair of the map.inherited -
keysWithPrefix(
K prefix) → Iterable< K> -
An Iterable over all keys starting with
prefix
. -
map<
K2, V2> (MapEntry< K2, V2> transform(K key, V value)) → Map<K2, V2> -
Returns a new map where all entries of this map are transformed by
the given
convert
function.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
putIfAbsent(
K key, V ifAbsent()) → V -
Look up the value of
key
, or add a new entry if it isn't there.inherited -
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
.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
update(
K key, V update(V value), {V ifAbsent()?}) → V -
Updates the value for the provided
key
.inherited -
updateAll(
V update(K key, V value)) → void -
Updates all values.
inherited
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