LinkedHashSet<E>.from 构造函数

LinkedHashSet<E>.from(
  1. 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;
}