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;
}