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.
builderempty
Returns the (singleton) empty instance of this type and context with given key and value types.
emptyfrom
Returns an immutable multimap of this type and context, containing the values in the given sources StreamSource.
fromsources 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.
ofvalues.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.
reducerReducer 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().