interface MultiMapBase.Context<UK,UV,Tp>
The multimap's Context instance that serves as a factory for all related immutable instances and builders.
Extends: MultiMapBase.Factory<Tp,UK,UV>
Implemented by: HashMultiMapHashValue.Context<UK,UV>
, SortedMultiMapSortedValue.Context<UK,UV>
, MultiMap.Context<UK,UV>
, MultiMapContext<UK,UV,N,Tp>
, SortedMultiMapHashValue.Context<UK,UV>
, HashMultiMapSortedValue.Context<UK,UV>
Type parameters
Name | Constraints | Default | Description |
---|---|---|---|
UK | undocumented | ||
UV | undocumented | ||
Tp | MultiMapBase.Types | MultiMapBase.Types | undocumented |
Properties
keyMapContext
The context used for the internal keymap instances.
keyMapContext
Definition
readonly keyMapContext:
WithKeyValue
<Tp, UK, UV>['keyMapContext'];
keyMapValuesContext
undocumented
keyMapValuesContext
Definition
readonly keyMapValuesContext:
WithKeyValue
<Tp, UK, UV>['keyMapValuesContext'];
typeTag
A string tag defining the specific collection type
typeTag
Definition
readonly typeTag: string;
HashMultiMapHashValue.defaultContext().typeTag // => 'HashMultiMapHashValue'
Methods
builder
Returns an empty builder instance for this type of collection and context.
builder
Definition
builder<K extends UK, V extends UV>():
WithKeyValue
<Tp, K, V>['builder'];
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
HashMultiMapHashValue.builder<number, string>() // => HashMultiMapHashValue.Builder<number, string>
Overrides
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
empty
Definition
empty<K extends UK, V extends UV>():
WithKeyValue
<Tp, K, V>['normal'];
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
HashMultiMapHashValue.empty<number, string>() // => HashMultiMapHashValue<number, string>
HashMultiMapHashValue.empty<string, boolean>() // => HashMultiMapHashValue<string, boolean>
Overrides
from
Returns an immutable multimap of this type and context, containing the entries in the given source
StreamSource
.
from
source
StreamSource
.Definitions
from<K extends UK, V extends UV>(...sources:
ArrayNonEmpty
<
StreamSource.NonEmpty
<readonly [K, V]>>):
WithKeyValue
<Tp, K, V>['nonEmpty'];
from<K extends UK, V extends UV>(...sources:
ArrayNonEmpty
<
StreamSource
<readonly [K, V]>>):
WithKeyValue
<Tp, K, V>['normal'];
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
Parameters
Name | Type | Description |
---|---|---|
sources | ArrayNonEmpty < StreamSource.NonEmpty <readonly [K, V]>> | an array of StreamSource instances containing key-value entries |
HashMultiMapHashValue.from([[1, 'a'], [2, 'b']]) // => HashMultiMapHashValue.NonEmpty<number, string>
Overrides
of
Returns an immutable multimap of this collection type and context, containing the given entries
.
of
entries
.Definition
of<K extends UK, V extends UV>(...entries:
ArrayNonEmpty
<readonly [K, V]>):
WithKeyValue
<Tp, K, V>['nonEmpty'];
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
Parameters
Name | Type | Description |
---|---|---|
entries | ArrayNonEmpty <readonly [K, V]> | a non-empty array of key-value entries |
HashMultiMapHashValue.of([1, 'a'], [2, 'b'], [1, 'c']) // => HashMap.NonEmpty<number, string>
Overrides
reducer
Returns a Reducer
that adds received tuples to a MultiMap and returns the MultiMap as a result. When a source
is given, the reducer will first create a MultiMap from the source, and then add tuples to it.
reducer
Reducer
that adds received tuples to a MultiMap and returns the MultiMap as a result. When a source
is given, the reducer will first create a MultiMap from the source, and then add tuples to it.Definition
reducer<K extends UK, V extends UV>(source?:
StreamSource
<readonly [K, V]>): Reducer<readonly [K, V],
WithKeyValue
<Tp, K, V>['normal']>;
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
Parameters
Name | Type | Description |
---|---|---|
source | StreamSource <readonly [K, V]> | (optional) an initial source of tuples to add to |
const someSource: [number, string][] = [1, 'a'], [2, 'b'];
const result = Stream.of([1, 'c'], [3, 'a']).reduce(SortedMultiMap.reducer(someSource))
result.toArray() // => [[1, 'a'], [1, 'c'], [2, 'b'], [3, 'a']]
uses a builder under the hood. If the given source
is a BiMap in the same context, it will directly call .toBuilder()
.