java-8 фильтрует список без создания нового списка

Я ищу самый чистый способ фильтрации списка в Java-8, с простой лямбдаPredicate, без создания нового списка.

В частности, это решение не подходит, так какtoList() возвращает новыйList:

List<Person> beerDrinkers = persons.stream()
    .filter(p -> p.getAge() > 16)
    .collect(Collectors.toList());

Обратите внимание, что следующее решение также не работает, потому что список должен бытьclear()Ed его первоначальных значений (но, очевидно, если вы очистите егодо фильтровать, нечего фильтровать ...):

persons.stream()
    .filter(p -> p.getAge() > 16)
    .forEach((p) -> persons.add(p));

(Кроме того, я бы предпочел решение, не включающее использование сторонней библиотеки или фреймворка)

Ответы на вопрос(1)

Ваш ответ на вопрос