Set<E>.from 构造函数

Set<E>.from(
  1. Iterable elements
)

创建一个包含所有 elementsSet

所有 elements 应该是 E 的实例。此可迭代对象的 elements 可以是任何类型,因此此构造函数可以用作将 Set 纵向下转型,例如

Set<SuperType> superSet = ...;
Set<SubType> subSet =
    Set<SubType>.from(superSet.where((e) => e is SubType));

创建的 Set 是一个 LinkedHashSet。作为此类,它将相等(使用 运算符 ==)的元素视为不可区分的,并要求它们有兼容的 对象.hashCode 实现。

该集合与通过 LinkedHashSet<E>.from(elements) 创建的集合等效。

final numbers = <num>{10, 20, 30};
final setFrom = Set<int>.from(numbers);
print(setFrom); // {10, 20, 30}

实现

factory Set.from(Iterable elements) = LinkedHashSet<E>.from;