🔥 Stream API: Фильтрация, Преобразование и Сортировка 🔥



Сегодня я покажу вам, как эффективно работать с Stream API в Java, выполняя фильтрацию, преобразование и сортировку данных.

Допустим, у нас есть список пользователей:

class User {
String name;
int age;

User(String name, int age) {
this.name = name;
this.age = age;
}

@Override
public String toString() {
return name + " (" + age + ")";
}
}


Теперь представьте, что у нас есть список пользователей, и мы хотим:
✅ Оставить только совершеннолетних
✅ Отсортировать их по возрасту
✅ Преобразовать в список имен

Легко справимся с этим с помощью Stream API:

List<User> users = List.of(
new User("Алекс", 25),
new User("Мария", 17),
new User("Иван", 30),
new User("Ольга", 20)
);

List<String> adultNames = users.stream()
.filter(user -> user.age >= 18) // Фильтрация
.sorted(Comparator.comparingInt(user -> user.age)) // Сортировка
.map(user -> user.name) // Преобразование
.toList();

System.out.println(adultNames); // [Ольга, Алекс, Иван]

Что здесь происходит?
🔹 filter(user -> user.age >= 18): Убираем несовершеннолетних.
🔹 sorted(Comparator.comparingInt(user -> user.age)): Сортируем по возрасту.
🔹 map(user -> user.name): Преобразуем User в String, оставляя только имена.
🔹 toList(): Собираем результат в список.

Stream API позволяет писать чистый, читаемый и декларативный код, избавляя от лишних циклов.

👉 @BookJava
Просмотры: 1 079
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти