HashSet<E>.from 构造函数

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