Зачем вообще использовать Stream
s?
updatedQueries.removeIf(query-> {
Period period = getPeriodRequest(query);
return !periodService.validatePeriodicity(period) || !isMandatory(period));
});
При этом удаляются все элементы из updatedQueries
, которые не соответствуют фильтру.Ведет себя так же, но не вводит новый List
.
. Наилучшим подходом, вероятно, будет использование простого for
-цикла, если вы заботитесь о производительности:
for (Iterator<Query> it = updatedQueries.iterator(); it.hasNext(); ) {
Period period = getPeriodRequest(it.next());
if(!periodService.validatePeriodicity(period) || !isMandatory(period))) {
it.remove();
}
}