SetMixin<E> class

Mixin implementation of Set.

Mixin implementation of Set.

This class provides a base implementation of a Set that depends only on the abstract members: add, contains, lookup, remove, iterator, length and toSet.

Some of the methods assume that toSet creates a modifiable set. If using this mixin for an unmodifiable set, where toSet should return an unmodifiable set, it's necessary to reimplement retainAll, union, intersection and difference.

Implementations of Set using this mixin should consider also implementing clear in constant time. The default implementation works by removing every element.

Implements
Implemented by

Constructors

SetMixin()

Instance Properties

iterator Iterator<E>
read-only
length int
read-only
isEmpty bool
read-only
isNotEmpty bool
read-only
single E
read-only
first E
read-only
last E
read-only

Instance Methods

add(E element) → bool
Adds [value] into the set. Returns true if [value] was added to the set.
contains(Object element) → bool
Returns true if [value] is in the set.
lookup(E element) → E
If an object equal to [object] is in the set, return it.
remove(Object element) → bool
Removes [value] from the set. Returns true if [value] was in the set. Returns false otherwise. The method has no effect if [value] value was not in the set.
toSet() → Set<E>
Creates a [Set] containing the same elements as this iterable.
clear() → void
Removes all elements in the set.
addAll(Iterable<E> elements) → void
Adds all [elements] to this Set.
removeAll(Iterable<Object> elements) → void
Removes each element of [elements] from this set.
retainAll(Iterable<Object> elements) → void
Removes all elements of this set that are not elements in [elements].
removeWhere(bool test(E element)) → void
Removes all elements of this set that satisfy [test].
retainWhere(bool test(E element)) → void
Removes all elements of this set that fail to satisfy [test].
containsAll(Iterable<Object> other) → bool
Returns whether this Set contains all the elements of [other].
union(Set<E> other) → Set<E>
Returns a new set which contains all the elements of this set and [other].
intersection(Set<Object> other) → Set<E>
Returns a new set which is the intersection between this set and [other].
difference(Set<Object> other) → Set<E>
Returns a new set with the the elements of this that are not in [other].
toList({bool growable: true}) → List<E>
Creates a [List] containing the elements of this [Iterable].
map(dynamic f(E element)) → Iterable
Returns a new lazy [Iterable] with elements that are created by calling f on each element of this Iterable in iteration order.
toString() → String
Returns a string representation of this object.
where(bool f(E element)) → Iterable<E>
Returns a new lazy [Iterable] with all elements that satisfy the predicate [test].
expand(Iterable f(E element)) → Iterable
Expands each element of this [Iterable]into zero or more elements.
forEach(void f(E element)) → void
Applies the function [f] to each element of this collection in iteration order.
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.
fold(initialValue, dynamic combine(previousValue, E element)) → dynamic
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
every(bool f(E element)) → bool
Checks whether every element of this iterable satisfies [test].
join([String separator = ""]) → String
Converts each element to a [String] and concatenates the strings.
any(bool test(E element)) → bool
Checks whether any element of this iterable satisfies [test].
take(int n) → Iterable<E>
Returns a lazy iterable of the [count] first elements of this iterable.
takeWhile(bool test(E value)) → Iterable<E>
Returns a lazy iterable of the leading elements satisfying [test].
skip(int n) → Iterable<E>
Returns an Iterable that provides all but the first [count] elements.
skipWhile(bool test(E value)) → Iterable<E>
Returns an Iterable that skips leading elements while [test] is satisfied.
firstWhere(bool test(E value), {E orElse()}) → E
Returns the first element that satisfies the given predicate [test].
lastWhere(bool test(E value), {E orElse()}) → E
Returns the last element that satisfies the given predicate [test].
singleWhere(bool test(E value)) → E
Returns the single element that satisfies [test].
elementAt(int index) → E
Returns the [index]th element.