Конструктор HashSet< E>.from
- Iterable elements
Создаёт множество хешей, содержащее все elements.
Создаёт множество хешей, как HashSet<E>() и добавляет все переданные elements в множество. Элементы добавляются в порядке их появления. Если elements содержит два элемента, которые равны, но не идентичны, то в результирующем множестве будет только первый.
Все elements должны быть экземплярами E. Сами элементы перебираемого объекта elements могут иметь любой тип, поэтому этот конструктор может быть использован для приведения типов, например, так:
Set<SuperType> superSet = ...;
Set<SubType> subSet =
HashSet<SubType>.from(superSet.whereType<SubType>());
Пример:
final numbers = <num>[10, 20, 30];
final hashSetFrom = HashSet<int>.from(numbers);
print(hashSetFrom); // fx {20, 10, 30}
Реализация
factory HashSet.from(Iterable<dynamic> elements) {
HashSet<E> result = HashSet<E>();
for (final e in elements) {
result.add(e as E);
}
return result;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/HashSet/HashSet.from.html