LinkedHashSet<E>.from 构造函数
- Iterable elements
创建一个包含所有 elements
的链式哈希集合。
类似于通过 LinkedHashSet<E>()
创建链接哈希集合,并将 elements
中的每个元素按迭代顺序添加到此集合中。
所有 elements
应该是 E
的实例。elements
可迭代表可具有任何元素类型,因此此构造函数可用于向下转换一个 Set
,例如
Set<SuperType> superSet = ...;
Iterable<SuperType> tmp = superSet.where((e) => e is SubType);
Set<SubType> subSet = LinkedHashSet<SubType>.from(tmp);
示例
final numbers = <num>[10, 20, 30];
final setFrom = LinkedHashSet<int>.from(numbers);
print(setFrom); // {10, 20, 30}
实现
factory LinkedHashSet.from(Iterable<dynamic> elements) {
LinkedHashSet<E> result = LinkedHashSet<E>();
for (final element in elements) {
result.add(element as E);
}
return result;
}