Я экспериментировал с лямбда-выражениями Java 8, чтобы упростить фильтрацию коллекций. Но я не нашел краткого способа получить результат в виде нового списка в том же операторе. Вот мой самый краткий подход на данный момент:
Код: Выделить всё
List sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L);
List targetLongList = new ArrayList();
sourceLongList.stream().filter(l -> l > 100).forEach(targetLongList::add);
Примеры в сети не ответили на мой вопрос, потому что они останавливаются, не создавая новый список результатов. Должен быть более краткий способ. Я ожидал, что класс Stream имеет такие методы, как toList(), toSet(), …
Есть ли способ, которым переменные targetLongList могут быть назначены непосредственно в третьей строке?
Подробнее здесь:
https://stackoverflow.com/questions/148 ... -in-java-8