Метод toSet
Метод toSet класса Collectors возвращает
коллектор, который собирает элементы потока в
множество Set. Множество не содержит
дублирующихся элементов, поэтому повторяющиеся
значения будут отброшены. Метод не принимает
параметров. Возвращаемый коллектор можно
использовать в терминальной операции collect.
Синтаксис
Collectors.toSet()
Пример
Давайте соберем элементы списка в множество:
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c", "d", "e");
Set<String> res = list.stream()
.collect(Collectors.toSet());
System.out.println(res);
}
}
Результат выполнения кода:
[a, b, c, d, e]
Пример
Давайте соберем элементы списка с дубликатами в множество и убедимся, что повторы отбрасываются:
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 2, 3, 3, 3);
Set<Integer> res = list.stream()
.collect(Collectors.toSet());
System.out.println(res);
}
}
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте применим метод toSet совместно
с методом map, чтобы преобразовать
элементы и собрать их в множество:
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c");
Set<String> res = list.stream()
.map(String::toUpperCase)
.collect(Collectors.toSet());
System.out.println(res);
}
}
Результат выполнения кода:
[A, B, C]
Смотрите также
-
класс
Collectors,
который содержит коллекторы для потоков -
метод
toList,
который собирает элементы в список -
метод
toMap,
который собирает элементы в карту -
метод
toCollection,
который собирает элементы в заданную коллекцию