Import std.collections.multi_map
std.collections.multi_map
A map from each key to one value or more.
MultiMap<K, V>: keys that each have one value or more, in the order they were added: a Map
from each key to an array of its values, in the order they were added too. A key whose last
value goes, goes.
std/collections/multi_map.fb
Types
MultiMap
class
@DebugEntries Public Class MultiMap<K: Hashable, V> Implements Iterable<(K, V)>, Cloneable, Defaultable
A Map from each key to any number of values, in the order they were added.
Examples
Local tags = MultiMap<String, String>()
tags.Add("fruit", "apple")
tags.Add("fruit", "pear")
tags.Add("veg", "leek")
Expect(tags.Get("fruit") == ["apple", "pear"])
Expect(tags.Count == 3 && tags.KeyCount == 2)
Expect(tags.Get("nuts").Count == 0)std/collections/multi_map.fb, line 24
-
A new, empty MultiMap.
-
How many values it has, of all the keys.
-
How many keys have values.
-
Adds a value for the
key, after the ones it has. -
Adds each of the
valuesfor thekey, in order, all read first. -
The
key's values, in the order they were added, in a new array, which is empty when thekeyhas none. -
The same as Get.
-
Whether
keyhas any values. -
Whether the
keyhas thevalue. -
Removes the first of the
key's values that's equal tovalue, and tells whether there was one. -
Removes the
keyand all its values, and gives how many values went. -
Takes every key and value out.
-
The keys that have values, in the order they were added.
-
A new, empty MultiMap.
-
A new MultiMap with the same keys and values.
-
Each key with each of its values, for 'For key, value In multi', the keys in the order they were added and each one's values in theirs. Adding or removing a value while going over them panics.
MultiMapIterator
struct
Public Struct MultiMapIterator<K: Hashable, V> Implements Iterator<(K, V)>
The entries of a MultiMap, as (key, value), a key's values in order, which a For loop goes over.
std/collections/multi_map.fb, line 130
-
The next key with one of its values, the keys in the order they were added and each one's values in theirs, or Null after the last. Panics when the MultiMap changed since the loop began.
Extends
MultiMap
extend
Extend MultiMap<K, V> Implements Equatable
Compares MultiMaps with == and !=, where their values can be compared.
std/collections/multi_map.fb, line 163
-
Whether the two have the same keys, each with equal values in the same order.
MultiMap
extend
Extend MultiMap<K, V> Implements Printable
Shows a MultiMap in a string, as its ToString writes it.
std/collections/multi_map.fb, line 172
-
Each key and its values, as
{fruit: [apple, pear], veg: [leek]}.
Report an issue with this page or with FutureBlitz on GitHub.