HashSet<E>.from 构造函数
- Iterable elements
创建包含所有 elements
的散列表。
创建一个散列表,类似于 HashSet<E>()
,并将所有给定的 elements
添加到该集合中。元素按顺序添加。如果 elements
包含两个相等的条目,但不是相同的,则第一个条目是结果集合中的条目。
所有 elements
应该是 E
的实例。elements
可迭代的本身可以是任何元素类型,因此此构造函数可用于向下转换 Set
,例如
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;
}