РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
503 of 1163 menu

Метод boxed

Метод boxed класса IntStream преобразует поток примитивных значений int в поток объектов Integer (то есть в Stream<Integer>). Метод не принимает параметров и возвращает новый поток, состоящий из элементов исходного потока, упакованных в соответствующие объекты-обертки.

Такой метод бывает полезен, когда после работы с числовым потоком нужно использовать методы, доступные только для объектных потоков, например, собрать элементы в список List<Integer>.

Синтаксис

IntStream.boxed()

Пример

Давайте преобразуем поток чисел от 1 до 5 в поток объектов и соберем их в список:

import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { List<Integer> res = IntStream.range(1, 6) .boxed() .collect(Collectors.toList()); System.out.println(res); } }

Результат выполнения кода:

[1, 2, 3, 4, 5]

Пример

Давайте отфильтруем четные числа и упакуем оставшиеся в объекты Integer:

import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { List<Integer> res = IntStream.range(1, 6) .filter(n -> n % 2 == 0) .boxed() .collect(Collectors.toList()); System.out.println(res); } }

Результат выполнения кода:

[2, 4]

Смотрите также

  • класс IntStream,
    который представляет поток примитивов int
  • метод range,
    который создает поток чисел в заданном диапазоне
  • метод map,
    который преобразует элементы потока
  • метод collect,
    который собирает элементы потока в коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить