Multiset<E> class

A generalized Set (or Bag) in which members are allowed to appear more than once.

Inheritance
Available extensions

Constructors

Multiset()
Creates an empty Multiset.
factory
Multiset.from(Iterable<E> other)
Creates a Multiset that contains all elements of other.
factory
Multiset.fromIterable(Iterable<Object?> iterable, {E key(Object? element)?, int count(Object? element)?})
Creates a Multiset where the elements and their occurrence count is computed from an iterable.
factory
Multiset.identity()
Creates an empty identity Multiset.
factory
Multiset.of(Iterable<E> other)
Creates a Multiset that contains all elements of other.
factory

Properties

counts → Iterable<int>
Returns an iterable over the counts of the distinct elements of the receiver.
no setter
distinct → Iterable<E>
Returns an iterable over the distinct elements of the receiver.
no setter
elementCounts → Iterable<int>
Returns an iterable over the counts of the distinct elements of the receiver.
no setter
elementSet → Iterable<E>
Returns an iterable over the distinct elements of the receiver.
no setter
entrySet → Iterable<MapEntry<E, int>>
Returns an iterable over the distinct elements key and their respective count value.
no setter
first → E
The first element.
no setterinherited
firstOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The first element of this iterator, or null if the iterable is empty.
no setter
hashCode → int
The hash code for this object.
no setterinherited
indexed → Iterable<(int, T)>

Available on Iterable<T>, provided by the IterableExtensions extension

Pairs of elements of the indices and elements of this iterable.
no setter
isEmpty → bool
Whether this collection has no elements.
no setterinherited
isNotEmpty → bool
Whether this collection has at least one element.
no setterinherited
iterator → Iterator<E>
Iterator over the repeated elements of the receiver.
no setteroverride
last → E
The last element.
no setterinherited
lastOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The last element of this iterable, or null if the iterable is empty.
no setter
length → int
Returns the total number of elements in the receiver.
no setteroverride
nonNulls → Iterable<T>

Available on Iterable<T?>, provided by the NullableIterableExtensions extension

The non-null elements of this iterable.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
single → E
Checks that this iterable has only one element, and returns that element.
no setterinherited
singleOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The single element of this iterator, or null.
no setter
toJSIterable → JSIterable<T>

Available on Iterable<T>, provided by the IterableToJSIterable extension

A JSIterable wrapper that proxies to the Dart iterable API.
no setter
wait → Future<List<T>>

Available on Iterable<Future<T>>, provided by the FutureIterable extension

Waits for futures in parallel.
no setter

Methods

add(E element, [int occurrences = 1]) → void
Adds element to the receiver occurrences number of times.
addAll(Iterable<E> elements) → void
Adds all of elements to the receiver.
any(bool test(E element)) → bool
Checks whether any element of this iterable satisfies test.
inherited
asMap() → Map<E, int>
Returns an unmodifiable view of the underlying data in a Map with the elements as the key and their counts as the value.
asNameMap() → Map<String, T>

Available on Iterable<T>, provided by the EnumByName extension

Creates a map from the names of enum values to the values.
atRandom({Random? random, E orElse()?}) → E

Available on Iterable<E>, provided by the RandomIterableExtension extension

Returns a random element from this Iterable.
byName(String name) → T

Available on Iterable<T>, provided by the EnumByName extension

Finds the enum value in this list with name name.
cast<R>() → Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
chunked(int size) → Iterable<List<E>>

Available on Iterable<E>, provided by the ChunkedIterableExtension extension

Divides this Iterable into sub-lists of a given size. The final list might be smaller or equal to the desired size.
chunkedWithPadding(int size, E padding) → Iterable<Iterable<E>>

Available on Iterable<E>, provided by the ChunkedIterableExtension extension

Divides this Iterable into sub-lists of a given size. The final list is expanded with the provided padding, or null.
clear() → void
Removes all elements from the receiver.
closeMatches(String target, {int count = 3, double cutoff = 0.6}) → Iterable<String>

Available on Iterable<String>, provided by the CloseMatchesOnStringIterable extension

Returns a list of the best "good enough" matches of a list of strings.
closeMatches(Iterable<T> target, {int count = 3, double cutoff = 0.6}) → Iterable<Iterable<T>>

Available on Iterable<Iterable<T>>, provided by the CloseMatchesOnIterable extension

Returns a list of the best "good enough" matches.
combinations(int count, {bool repetitions = false}) → Iterable<List<E>>

Available on Iterable<E>, provided by the CombinationsIterableExtension extension

Returns an iterable over the combinations of this Iterable of length count. The combinations are emitted in lexicographical order based on the input.
combine(Iterable<E> other, int callback(E element, int a, int b)) → Multiset<E>
Returns a new Multiset by evaluating callback element-wise for each distinct element of this and other.
contains(Object? element) → bool
Returns true if element is in the receiver.
override
containsAll(Iterable<Object?> other) → bool
Returns true if all elements of other are contained in the receiver.
count(bool predicate(E element)) → int

Available on Iterable<E>, provided by the CountIterableExtension extension

Returns the number of time predicate evaluates to true.
deepFlatten<E>() → Iterable<E>

Available on Iterable, provided by the DeepFlattenIterableExtension extension

Flattens arbitrarily nested Iterables with elements of type E. Throws an ArgumentError when encountering an value of an unexpected type.
difference(Iterable<Object?> other) → Multiset<E>
Returns a new Multiset with all the elements of the receiver that are not in other.
elementAt(int index) → E
Returns the indexth element.
inherited
elementAtOrNull(int index) → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The element at position index of this iterable, or null.
every(bool test(E element)) → bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(E element)) → Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(E element), {E orElse()?}) → E
The first element that satisfies the given predicate test.
inherited
flatMap<T>(Iterable<T> callback(E element)) → Iterable<T>

Available on Iterable<E>, provided by the FlatMapIterableExtension extension

Maps each element of this Iterable using a mapping function to zero or more elements, then flattens the result into a continuous iterable.
flatten() → Iterable<E>

Available on Iterable<Iterable<E>>, provided by the FlattenIterableExtension extension

Flattens an Iterable of Iterables to a flattened Iterable.
fold<T>(T initialValue, T combine(T previousValue, E element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<E> other) → Iterable<E>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(E element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
gcd() → int

Available on Iterable<int>, provided by the GcdIntegerIterableExtension extension

Returns the greatest common divisor (GCD) of the values in this Iterable. This is the largest positive integer that divides all numbers.
gcd() → BigInt

Available on Iterable<BigInt>, provided by the GcdBigIntIterableExtension extension

Returns the greatest common divisor (GCD) of the values in this Iterable. This is the largest positive integer that divides all numbers.
groupBy<K>([K key(V element)?]) → Iterable<Group<K, V>>

Available on Iterable<V>, provided by the GroupIterableExtension extension

Groups consecutive keys of this Iterable.
indexed({int start = 0, int step = 1, int? offset}) → Iterable<Indexed<E>>

Available on Iterable<E>, provided by the IndexedIterableExtension extension

Returns a iterable that combines the index and value of this Iterable.
indices({int step = 1}) → Range<int>

Available on Iterable<Object?>, provided by the IndicesIterableExtension extension

Returns a Range of the indices of this iterable that can be accessed with the [] operator.
intersection(Iterable<Object?> other) → Multiset<E>
Returns a new Multiset with the elements that are in the receiver as well as those in other.
join([String separator = ""]) → String
Converts each element to a String and concatenates the strings.
inherited
largest(int count, {Comparator<E>? comparator}) → List<E>

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns a list of the count largest elements of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
lastWhere(bool test(E element), {E orElse()?}) → E
The last element that satisfies the given predicate test.
inherited
lcm() → int

Available on Iterable<int>, provided by the LcmIntegerIterableExtension extension

Returns the least common multiple (LCM) of the values in this Iterable. This is the smallest positive integer that is divisible by all numbers.
lcm() → BigInt

Available on Iterable<BigInt>, provided by the LcmBigIntIterableExtension extension

Returns the least common multiple (LCM) of the values in this Iterable. This is the smallest positive integer that is divisible by all numbers.
map<T>(T toElement(E e)) → Iterable<T>
The current elements of this iterable modified by toElement.
inherited
max({Comparator<E>? comparator, E orElse()?}) → E

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the maximum of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
min({Comparator<E>? comparator, E orElse()?}) → E

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the minimum of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
minMax({Comparator<E>? comparator, ({E max, E min}) orElse()?}) → ({E max, E min})

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns the minimum and maximum of this Iterable at once. The elements need to be Comparable, unless a custom comparator is provided.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
occurrences(E element) → int

Available on Iterable<E>, provided by the CountIterableExtension extension

Returns the number of times element appears in the iterable.
pairwise() → Iterable<(E, E)>

Available on Iterable<E>, provided by the PairwiseIterableExtension extension

An iterable over the successive overlapping pairs of this iterable.
partition(bool test(E element)) → ({List<E> falsey, List<E> truthy})

Available on Iterable<E>, provided by the PartitionIterableExtension extension

Splits this iterable into two lists: the truthy list where the test predicate is true and the falsey list where the test predicate is false.
permutations([int? count]) → Iterable<List<E>>

Available on Iterable<E>, provided by the PermutationIterableExtension extension

Returns an iterable over the permutations of this Iterable of length count. If no count is specified all full-length permutations are generated. The permutations are emitted in lexicographical order based on the input.
polynomial([num x = 10]) → num

Available on Iterable<num>, provided by the PolynomialIterableExtension extension

Evaluates the polynomial described by this Iterables coefficients and the value x.
powerSet() → Iterable<List<E>>

Available on Iterable<E>, provided by the PowerSetIterableExtension extension

Returns all subsets of this iterable including the empty set and the complete set itself. The power-set has 2^n elements, if the iterable has length n.
product({int repeat = 1}) → Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ProductIterableExtension extension

Returns an iterable over the cross product of this Iterable.
reduce(E combine(E value, E element)) → E
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
remove(Object? element, [int occurrences = 1]) → void
Removes element from the receiver occurrences number of times.
removeAll(Iterable<Object?> elements) → void
Removes each element of elements from the receiver.
repeat({int? count}) → Iterable<E>

Available on Iterable<E>, provided by the RepeatIterableExtension extension

Returns an infinite iterable with the elements of this iterable. If count is provided the resulting iterator is limited to count repetitions.
separatedBy(Builder<E> separator, {Builder<E>? before, Builder<E>? after}) → Iterable<E>

Available on Iterable<E>, provided by the SeparatedIterableExtension extension

Returns an Iterable where every element is separated by an element built by a separator builder. Optionally specified before and after builders can provide an element at the beginning or the end of the non-empty iterable.
singleWhere(bool test(E element), {E orElse()?}) → E
The single element that satisfies test.
inherited
skip(int count) → Iterable<E>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(E element)) → Iterable<E>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
smallest(int count, {Comparator<E>? comparator}) → List<E>

Available on Iterable<E>, provided by the OperatorsIterableExtension extension

Returns a list of the count smallest elements of this Iterable. The elements need to be Comparable, unless a custom comparator is provided.
take(int count) → Iterable<E>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(E element)) → Iterable<E>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toBiMap<K, V>({K key(E element)?, V value(E element)?}) → BiMap<K, V>

Available on Iterable<E>, provided by the BiMapOnIterableExtension extension

Converts this Iterable to a BiMap.
toBitList({bool growable = false}) → BitList

Available on Iterable<bool>, provided by the BitListExtension extension

Converts this Iterable to a space-efficient BitList.
toComparator() → Comparator<T>

Available on Iterable<Comparator<T>>, provided by the CompoundIterableComparator extension

Returns a Comparator that tries each of the comparators in this iterable in order and returns the first result that doesn't end up in a tie.
toList({bool growable = true}) → List<E>
Creates a List containing the elements of this Iterable.
inherited
toListMultimap<K, V>({K key(E element)?, V value(E element)?, Map<K, List<V>>? map, Factory<List<V>>? factory}) → ListMultimap<K, V>

Available on Iterable<E>, provided by the ListMultimapOnIterableExtension extension

Converts this Iterable to a ListMultimap.
toMap<K, V>({K key(E element)?, V value(E element)?}) → Map<K, V>

Available on Iterable<E>, provided by the ToMapIterableExtension extension

Returns an Map from an Iterable.
toMultiset() → Multiset<T>

Available on Iterable<T>, provided by the MultisetExtension extension

toPrinter() → Printer<T>

Available on Iterable<Printer<T>>, provided by the SequencePrinterIterableExtension extension

Constructs a sequence of printers.
toSet() → Set<E>
Creates a Set containing the same elements as this iterable.
inherited
toSetMultimap<K, V>({K key(E element)?, V value(E element)?, Map<K, Set<V>>? map, Factory<Set<V>>? factory}) → SetMultimap<K, V>

Available on Iterable<E>, provided by the SetMultimapOnIterableExtension extension

Converts this Iterable to a SetMultimap.
toSortedList({Comparator<E>? comparator, bool growable = true}) → SortedList<E>

Available on Iterable<E>, provided by the SortedListIterableExtension extension

Converts this Iterable to a SortedList.
toString() → String
Returns a string representation of (some of) the elements of this.
inherited
union(Iterable<E> other) → Multiset<E>
Returns a new Multiset with all the elements of the receiver and those in other.
unique({Set<E> factory()?, bool equals(E e1, E e2)?, int hashCode(E e)?}) → Iterable<E>

Available on Iterable<E>, provided by the UniqueIterableExtension extension

Returns a lazy iterable that filters out duplicates from this Iterator.
where(bool test(E element)) → Iterable<E>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() → Iterable<R>
Creates a new lazy Iterable with all elements that have type T.
inherited
window(int size, {int step = 1, bool includePartial = false}) → Iterable<List<E>>

Available on Iterable<E>, provided by the WindowIterableExtension extension

Sliding window of given size over this Iterable.
zip() → Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the shortest input iterable.
zipPartial() → Iterable<List<E?>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the longest input iterable, missing values are padded with null.
zipPartialWith(E padding) → Iterable<List<E>>

Available on Iterable<Iterable<E>>, provided by the ZipIterableExtension extension

Combines the first, second, third, ... elements of each Iterable into a new list. The resulting iterable has the length of the longest input iterable, missing values are padded with padding.

Operators

operator ==(Object other) → bool
The equality operator.
inherited
operator [](Object? element) → int
Gets the number of occurrences of an element.
operator []=(E element, int occurrences) → void
Sets the number of occurrences of an element.