Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Stream.dropWhile()

Пропускает элементы, пока выполняется условие, и отдаёт всё остальное.

Доступно с: Java 9

Синтаксис

default Stream<T> dropWhile(Predicate<? super T> predicate)

Параметры

ПараметрТипОписание
predicatePredicate<? super T>Условие, пока оно истинно, элементы отбрасываются.

Возвращаемое значение

Stream<T>Остаток потока, начиная с первого неподходящего элемента.

Примеры

Пропуск строк-заголовков:

void main() {
    List<String> lines = List.of("# title", "# author", "first line", "# not a header", "last line");
    lines.stream()
        .dropWhile(l -> l.startsWith("#"))
        .forEach(IO::println);
}

Результат:

first line
# not a header
last line

Примечания

После первого неподходящего элемента условие больше не проверяется — поэтому строка # not a header осталась. Это зеркальная пара к takeWhile().

См. также

  • Stream.takeWhile() — Берёт элементы, пока выполняется условие, и останавливается на первом неподходящем.
  • Stream.skip() — Пропускает первые N элементов потока.

В учебнике

  • Операции над потоками — Основные операции Stream API — filter, map, sorted, distinct, limit, skip, count, reduce, anyMatch, findFirst и числовые потоки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.