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

Метод dropWhile

Метод dropWhile класса Stream возвращает новый поток, который отбрасывает элементы исходного потока до тех пор, пока они удовлетворяют заданному условию (предикату). Как только встречается первый элемент, не удовлетворяющий условию, этот элемент и все последующие элементы включаются в результирующий поток. В первый параметр мы передаем предикат - функциональный интерфейс Predicate, который принимает элемент потока и возвращает true или false. Метод особенно полезен для упорядоченных потоков, когда нужно пропустить начальную часть элементов, соответствующую некоторому условию.

Синтаксис

stream.dropWhile(predicate)

Пример

Давайте отбросим элементы потока до тех пор, пока они меньше 3:

import java.util.List; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 1, 2); List<Integer> res = stream.dropWhile(n -> n < 3).toList(); System.out.println(res); } }

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

[3, 4, 5, 1, 2]

Пример

Давайте отбросим элементы потока до тех пор, пока они начинаются с буквы "a":

import java.util.List; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.of("abc", "ade", "bcd", "abc"); List<String> res = stream.dropWhile(s -> s.startsWith("a")).toList(); System.out.println(res); } }

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

["bcd", "abc"]

Пример

Если первый элемент потока не удовлетворяет условию, метод ничего не отбрасывает:

import java.util.List; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(5, 1, 2, 3, 4); List<Integer> res = stream.dropWhile(n -> n < 3).toList(); System.out.println(res); } }

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

[5, 1, 2, 3, 4]

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

  • метод takeWhile,
    который берет элементы, пока выполняется условие
  • метод skip,
    который пропускает заданное количество элементов
  • метод filter,
    который фильтрует элементы по условию
  • метод limit,
    который ограничивает количество элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить