Java Stream Filter: упрощаем обработку потоков данных в Java
Java Stream Filter – это оператор промежуточной операции, который принимает предикат (функцию, которая возвращает Boolean) в качестве параметра и возвращает поток, содержащий только те элементы исходного потока, для которых предикат возвращает true.
Например, вы можете использовать фильтр для создания нового потока, содержащего только четные числа из исходного потока. Вот как это может выглядеть:
List
List
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
В этом примере мы сначала создаем список целых чисел и затем создаем поток из этого списка, используя метод stream(). Затем мы вызываем метод filter() для потока, передавая в качестве параметра Lambda-выражение (n -> n % 2 == 0), которое проверяет, является ли число четным. Наконец, мы вызываем метод collect() для потока, чтобы собрать четные числа в список.
Еще один пример использования Java Stream Filter - фильтрация списка строк по наличию в них определенной подстроки:
List
List
.filter(n -> n.contains("Jo"))
.collect(Collectors.toList());
В этом примере мы создаем список строк и затем создаем поток из этого списка. Затем мы вызываем метод filter() для потока, передавая в качестве параметра Lambda-выражение (n -> n.contains("Jo")), которое проверяет, содержит ли строка подстроку "Jo". Наконец, мы вызываем метод collect() для потока, чтобы собрать отфильтрованные имена в список.
В целом, Java Stream Filter - это мощный инструмент, который позволяет легко фильтровать элементы в потоке на основе определенного условия. Он широко используется в Java-программировании и чрезвычайно полезен при обработке больших наборов данных.