SplayTreeSet<E>.from constructor
Creates a SplayTreeSet that contains all elements.
The set works as if created by SplayTreeSet<E>(compare, isValidKey).
All the elements should be instances of E and valid arguments to
compare.
The elements iterable itself may have any element type, so this
constructor can be used to down-cast a Set, for example as:
Set<SuperType> superSet = ...;
Set<SubType> subSet =
SplayTreeSet<SubType>.from(superSet.whereType<SubType>());
Example:
final numbers = <num>[20, 30, 10];
final setFrom = SplayTreeSet<int>.from(numbers);
print(setFrom); // {10, 20, 30}
Implementation
factory SplayTreeSet.from(
Iterable elements, [
int Function(E key1, E key2)? compare,
bool Function(dynamic potentialKey)? isValidKey,
]) {
if (elements is Iterable<E>) {
return SplayTreeSet<E>.of(elements, compare, isValidKey);
}
SplayTreeSet<E> result = SplayTreeSet<E>(compare, isValidKey);
for (var element in elements) {
result.add(element as dynamic);
}
return result;
}