Trie<K, P extends Comparable<P> , V>.fromIterables constructor
Trie<K, P extends Comparable<P> , V>.fromIterables (})
Creates a Trie from two equal length iterables. The parts
define how
the keys are computed and optionally provides a custom root
node.
Implementation
factory Trie.fromIterables(Iterable<K> keys, Iterable<V> values,
{required GetParts<K, P> parts, TrieNode<K, P, V>? root}) {
final result = Trie<K, P, V>(parts: parts, root: root);
final keyIterator = keys.iterator;
final valueIterator = values.iterator;
var moreKeys = keyIterator.moveNext();
var moreValues = valueIterator.moveNext();
while (moreKeys && moreValues) {
result[keyIterator.current] = valueIterator.current;
moreKeys = keyIterator.moveNext();
moreValues = valueIterator.moveNext();
}
if (moreKeys || moreValues) {
throw ArgumentError('Iterables do not have same length');
}
return result;
}