Construct a new hash-based dictionary.
const d = new HashMultiDict<number, string>()
Similar to JavaScript's built-in map type, the constructor accepts a list of key-value pairs that will immediately be added to the resulting dictionary.
const d = new HashMultiDict<number, string>([
[1, 'one'],
[2, 'two']
])
The dictionary can be tweaked by providing a HashDictOptions-object, which allows to configure things like the default hashing function and value equality.
const d = new HashMultiDict<number, string>({
hash: num => num,
keysEqual: (a, b) => a === b,
valuesEqual: (a, b) => a === b,
g elements: [[1, 'one'], [2, 'two']]
})
Count the amount of elements in the collection.
⚠️ In most cases, this should be an O(1)
operation. However, there are
cases where this can be an O(n)
operation. Therefore, it is recommended
to always cache the result in a local variable.
Add an element to the collection. If the element already exists, update its value.
The location where the element is placed depends on the collection type, and in the generic case there is no guarantee on the location where it is inserted.
This method returns a pair with the first element indicating whether the element was added, while the second element refers to the actual location of the element.
Optional
hint: unknownA transparent object obtained by getAddHint.
A hash-based dictionary that can store multiple items with the same key.
Most methods in this collection, given that a proper hashing function is set up, are in
Θ(1 + n/k)
. If you're out of luck, this characteristic can grow toO(n)
.You can add as many items with the same key and value as you want, as the items will be stored next to each other.