Skip to content
FutureBlitz

    Install

    Import std.collections.multi_map

    MultiMap

    std.collections.multi_map

    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

    • Public New() constructor #

      A new, empty MultiMap.

    • Public Property Count: Int property #

      How many values it has, of all the keys.

    • Public Property KeyCount: Int property #

      How many keys have values.

    • Public Method Add(key: K, value: V) method #

      Adds a value for the key, after the ones it has.

    • Public Method AddAll(key: K, values: Iterable<V>) method #

      Adds each of the values for the key, in order, all read first.

    • Public Method Get(key: K): V[] method #

      The key's values, in the order they were added, in a new array, which is empty when the key has none.

    • Operator [](key: K): V[] operator #

      The same as Get.

    • Public Method Contains(key: K): Bool method #

      Whether key has any values.

    • Public Method Contains(key: K, value: V): Bool method #

      Whether the key has the value.

    • Public Method Remove(key: K, value: V): Bool method #

      Removes the first of the key's values that's equal to value, and tells whether there was one.

    • Public Method RemoveKey(key: K): Int method #

      Removes the key and all its values, and gives how many values went.

    • Public Method Clear() method #

      Takes every key and value out.

    • Public Method Keys(): K[] method #

      The keys that have values, in the order they were added.

    • Public Static Method DefaultValue(): MultiMap<K, V> static method #

      A new, empty MultiMap.

    • Public Method Clone(): MultiMap<K, V> method #

      A new MultiMap with the same keys and values.

    • Public Method Iterate(): MultiMapIterator<K, V> method #

      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.

    Report an issue with this page or with FutureBlitz on GitHub.