Как работают stream java
Stream
в Java
представляет собой последовательность элементов, которые могут быть преобразованы, отфильтрованы и обработаны в соответствии с определенными условиями.
Stream API
позволяет обрабатывать элементы коллекций и других источников данных, таких как массивы, файлы и т. д. Он предоставляет множество методов для выполнения различных операций с элементами, таких как фильтрация, преобразование, уплощение, сортировка и т. д.
Пример использования Stream API
для получения списка уникальных имен из списка Person
:
List<Person> persons = Arrays.asList(
new Person("John", 20),
new Person("Mary", 30),
new Person("Peter", 40),
new Person("Mary", 35),
new Person("John", 25)
);
List<String> uniqueNames = persons.stream()
.map(Person::getName)
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueNames); // => [John, Mary, Peter]
- Здесь мы использовали метод
stream()
для создания потока из списка объектовPerson
- Затем мы использовали метод
map()
для преобразования каждого элемента потока в его имя, методdistinct()
для удаления дубликатов и методcollect()
для сохранения уникальных имен в новый список.
Таким образом, Stream API
позволяет создавать более читабельный и компактный код для обработки данных, чем использование циклов и условных операторов. Он также обеспечивает более эффективную обработку больших объемов данных, благодаря возможности выполнения операций в параллельном режиме.