An unordered hash-table based Set implementation.
The elements of a HashSet
must have consistent equality
and hashCode implementations. This means that the equals operation
must define a stable equivalence relation on the elements (reflexive,
symmetric, transitive, and consistent over time), and that the hashCode
must consistent with equality, so that the same for objects that are
considered equal.
The set allows null
as an element.
Most simple operations on HashSet
are done in (potentially amorteized)
constant time: add, contains, remove, and length
, provided the hash
codes of objects are well distributed.
- Implements
-
- Set<E>
- Implemented by
Properties
- E first
-
read-only, inheritedReturns the first element.
- bool isEmpty
-
read-only, inheritedReturns
true
if there are no elements in this collection. - bool isNotEmpty
-
read-only, inheritedReturns true if there is at least one element in this collection.
- Iterator<E> iterator
-
read-onlyProvides an iterator that iterates over the elements of this set.
- E last
-
read-only, inheritedReturns the last element.
- int length
-
read-only, inheritedReturns the number of elements in
this
. - E single
-
read-only, inheritedChecks that this iterable has only one element, and returns that element.
Constructors
- HashSet({bool equals(E e1, E e2), int hashCode(E e), bool isValidKey(potentialKey)})
-
Create a hash set using the provided
equals
as equality. - HashSet.from(Iterable elements)
-
Create a hash set containing all
elements
. - HashSet.identity()
- Creates an unordered identity-based set.
Methods
-
add(
E value) → bool -
inheritedAdds
value
into the set. Returnstrue
ifvalue
was added to the set. -
addAll(
Iterable<E> elements) → void -
inheritedAdds all
elements
to this Set. -
any(
bool f(E element)) → bool -
inheritedChecks whether any element of this iterable satisfies
test
. -
clear(
) → void -
inheritedRemoves all elements in the set.
-
contains(
Object value) → bool -
inheritedReturns true if
value
is in the set. -
containsAll(
Iterable<Object> other) → bool -
inheritedReturns whether this Set contains all the elements of
other
. -
difference(
Set<E> other) → Set<E> -
inheritedReturns a new set with the the elements of this that are not in
other
. -
elementAt(
int index) → E -
inheritedReturns the
index
th element. -
every(
bool f(E element)) → bool -
inheritedChecks whether every element of this iterable satisfies
test
. -
expand(
Iterable f(E element)) → Iterable -
inheritedExpands each element of this Iterableinto zero or more elements.
-
firstWhere(
bool test(E element), {E orElse()}) → E -
inheritedReturns the first element that satisfies the given predicate
test
. -
fold(
initialValue, dynamic combine(previousValue, E element)) → dynamic -
inheritedReduces a collection to a single value by iteratively combining each element of the collection with an existing value
-
forEach(
void f(E element)) → void -
inheritedApplies the function
f
to each element of this collection in iteration order. -
intersection(
Set<Object> other) → Set<E> -
inheritedReturns a new set which is the intersection between this set and
other
. -
join(
[String separator = ""]) → String -
inheritedConverts each element to a String and concatenates the strings.
-
lastWhere(
bool test(E element), {E orElse()}) → E -
inheritedReturns the last element that satisfies the given predicate
test
. -
lookup(
Object object) → E -
inheritedIf an object equal to
object
is in the set, return it. -
map(
dynamic f(E element)) → Iterable -
inheritedReturns a new lazy Iterable with elements that are created by calling
f
on each element of thisIterable
in iteration order. -
reduce(
E combine(E value, E element)) → E -
inheritedReduces a collection to a single value by iteratively combining elements of the collection using the provided function.
-
remove(
Object value) → bool -
inheritedRemoves
value
from the set. Returns true ifvalue
was in the set. Returns false otherwise. The method has no effect ifvalue
value was not in the set. -
removeAll(
Iterable<Object> elements) → void -
inheritedRemoves each element of
elements
from this set. -
removeWhere(
bool test(E element)) → void -
inheritedRemoves all elements of this set that satisfy
test
. -
retainAll(
Iterable<Object> elements) → void -
inheritedRemoves all elements of this set that are not elements in
elements
. -
retainWhere(
bool test(E element)) → void -
inheritedRemoves all elements of this set that fail to satisfy
test
. -
singleWhere(
bool test(E element)) → E -
inheritedReturns the single element that satisfies
test
. -
skip(
int n) → Iterable<E> -
inheritedReturns an Iterable that provides all but the first
count
elements. -
skipWhile(
bool test(E value)) → Iterable<E> -
inheritedReturns an Iterable that skips leading elements while
test
is satisfied. -
take(
int n) → Iterable<E> -
inheritedReturns a lazy iterable of the
count
first elements of this iterable. -
takeWhile(
bool test(E value)) → Iterable<E> -
inheritedReturns a lazy iterable of the leading elements satisfying
test
. -
toList(
{bool growable: true}) → List<E> -
inheritedCreates a List containing the elements of this Iterable.
-
toSet(
) → Set<E> -
inheritedCreates a
Set
containing the same elements as this iterable. -
union(
Set<E> other) → Set<E> -
inheritedReturns a new set which contains all the elements of this set and
other
. -
where(
bool f(E element)) → Iterable<E> -
inheritedReturns a new lazy Iterable with all elements that satisfy the predicate
test
.