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