public let size : public let keys : public func put(key : K, value : V)Associates the key with the given value in the map. Overwrites any existing values previously associated with the key
public func putAll(key : K, values : [V]) : ()Associates the key with the given values in the map. These new values overwrite any previous values.
public func add(key : K, value : V)Adds a value to the end of the list associated with the key
public func addFirst(key : K, value : V)Adds the value to the beginning of the list for the associated key
public func addAll(key : K, values : [V])Appends all the given values to the existing values associated with the given key
public func getFirst(key : K) : ?VRetrieves the first value associated with the key
public func get(key : K) : [V]Retrieves all the values associated with the given key
public func vals() : Iter.Iter<[V]>public func entries() : Iter.Iter<(K, [V])>Returns all the entries in the map as a tuple of key and values array
public func flattenedEntries() : Iter.Iter<(K, V)>Returns all the entries in the map but instead of
an iterator with a key and a values array ((K, [V])), it returns
every value in the map in a tuple with its associated key ((K, V)).
public func singleValueEntries() : Iter.Iter<(K, V)>Returns an iterator with key-value tuple pairs with every key in the map and its first value
public func remove(key : K) : [V]Removes all the values associated with the specified key and returns them
If the key is not found, the function returns an empty array
public func clear()Removes all the key-value pairs in the map
The MultiValuedMap is an extention of the TrieMap class that stores multiple values for a single key
Internally the values are in a Deque but are returned to the user as arrays.
public func fromEntries<K, V>(
entries : [(K, [V])],
isKeyEq : (K, K) -> Bool,
keyHash : K -> Hash.Hash
) : MultiValuedMap<K, V>