interface MultiSetBase.Factory<Tp,UT>
undocumented
Implemented by: MultiSetBase.Context<UT,Tp>
, HashMultiSetCreators
, SortedMultiSetCreators
Type parameters
Name | Constraints | Default | Description |
---|---|---|---|
Tp | MultiSetBase.Types | undocumented | |
UT | unknown | undocumented |
Methods
builder
Returns an empty builder instance for this type of collection and context.
builder
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
empty
from
Returns an immutable multimap of this type and context, containing the values in the given sources
StreamSource
.
from
sources
StreamSource
.Definitions
from<T extends UT>(...sources:
ArrayNonEmpty
<
StreamSource.NonEmpty
<T>>):
WithElem
<Tp, T>['nonEmpty'];
from<T extends UT>(...sources:
ArrayNonEmpty
<
StreamSource
<T>>):
WithElem
<Tp, T>['normal'];
Type parameters
Name | Constraints | Description |
---|---|---|
T | UT |
Parameters
Name | Type | Description |
---|---|---|
sources | ArrayNonEmpty < StreamSource.NonEmpty <T>> | a non-empty array of StreamSource instances containing values to add |
HashMultiSet.from([1, 2], [2, 3, 4]).toArray() // => [1, 2, 2, 3, 4]
of
Returns an immutable multimap of this collection type and context, containing the given values
.
of
values
.Definition
of<T extends UT>(...values:
ArrayNonEmpty
<T>):
WithElem
<Tp, T>['nonEmpty'];
Type parameters
Name | Constraints | Description |
---|---|---|
T | UT |
Parameters
Name | Type | Description |
---|---|---|
values | ArrayNonEmpty <T> | a non-empty array of vslues |
HashMultiSet.of(1, 2, 2) // => HashMultiSet.NonEmpty<number>
reducer
Returns a Reducer
that appends received items to a MultiSet and returns the MultiSet as a result. When a source
is given, the reducer will first create a MultiSet from the source, and then add elements to it.
reducer
Reducer
that appends received items to a MultiSet and returns the MultiSet as a result. When a source
is given, the reducer will first create a MultiSet from the source, and then add elements to it.Definition
reducer<T extends UT>(source?:
StreamSource
<T>): Reducer<T,
WithElem
<Tp, T>['normal']>;
Type parameters
Name | Constraints | Description |
---|---|---|
T | UT |
Parameters
Name | Type | Description |
---|---|---|
source | StreamSource <T> | (optional) an initial source of elements to add to |
const someList = [1, 2, 3];
const result = Stream.range({ start: 20, amount: 5 }).reduce(SortedMultiSet.reducer(someList))
result.toArray() // => [1, 2, 3, 20, 21, 22, 23, 24]
uses a MultiSet builder under the hood. If the given source
is a MultiSet in the same context, it will directly call .toBuilder()
.