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

Метод filter класса IntStream

Метод filter класса IntStream фильтрует элементы потока, оставляя только те, которые удовлетворяют заданному условию. Метод принимает один параметр - функциональный интерфейс Predicate, который описывает условие фильтрации. Метод возвращает новый поток IntStream, содержащий только те элементы исходного потока, для которых предикат вернул true.

Синтаксис

IntStream filter(IntPredicate predicate)

Пример

Давайте отфильтруем поток целых чисел, оставив только чётные числа:

import java.util.stream.IntStream; public class Main { public static void main(String[] args) { IntStream stream = IntStream.of(1, 2, 3, 4, 5, 6); IntStream filtered = stream.filter(n -> n % 2 == 0); filtered.forEach(System.out::println); } }

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

2 4 6

Пример

Давайте отфильтруем поток чисел, оставив только числа больше 2, и соберём результат в массив:

import java.util.stream.IntStream; import java.util.Arrays; public class Main { public static void main(String[] args) { IntStream stream = IntStream.of(1, 2, 3, 4, 5); int[] res = stream.filter(n -> n > 2).toArray(); System.out.println(Arrays.toString(res)); } }

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

[3, 4, 5]

Пример

Давайте применим несколько фильтров последовательно, оставив только чётные числа, которые больше 2:

import java.util.stream.IntStream; public class Main { public static void main(String[] args) { IntStream stream = IntStream.of(1, 2, 3, 4, 5, 6); IntStream filtered = stream .filter(n -> n % 2 == 0) .filter(n -> n > 2); filtered.forEach(System.out::println); } }

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

4 6

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

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