Метод toSet
Метод toSet класса Stream собирает все элементы
потока в множество Set и возвращает его в виде
Future. Множество отличается от списка тем, что
хранит только уникальные значения, поэтому повторяющиеся
элементы потока будут отброшены. Метод не принимает
параметров. Поскольку поток может содержать бесконечное
количество элементов, метод дождется завершения потока,
прежде чем вернуть результат.
Синтаксис
Stream<T> stream.toSet()
Пример
Давайте создадим поток из списка чисел и соберем его элементы в множество:
void main() async
{
Stream<int> stream = Stream.fromIterable([1, 2, 3, 4, 5]);
Set<int> res = await stream.toSet();
print(res);
}
Результат выполнения кода:
{1, 2, 3, 4, 5}
Пример
Давайте создадим поток с повторяющимися элементами и убедимся, что в множество попадут только уникальные значения:
void main() async
{
Stream<String> stream = Stream.fromIterable(['a', 'b', 'a', 'c', 'b', 'd']);
Set<String> res = await stream.toSet();
print(res);
}
Результат выполнения кода:
{a, b, c, d}