Set<E>.from 构造函数
- Iterable elements
创建一个包含所有 elements
的 Set。
所有 elements
应该是 E
的实例。这个可迭代的 elements
自身可以是任何类型,所以这个构造函数可以被用来向下转换一个 Set
,例如
Set<SuperType> superSet = ...;
Set<SubType> subSet =
Set<SubType>.from(superSet.where((e) => e is SubType));
创建的 Set 是一个 LinkedHashSet。因此,它认为相等的元素(使用 运算符 ==)是无法区分的,并要求它们具有兼容的 Object.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;