Sobes.tech
Back to questions
Junior
158

Какие промежуточные методы работы со стримами вы знаете?

Answer from AI

sobes.tech AI

Промежуточные методы в Java Stream API — это операции, которые возвращают новый стрим и позволяют строить цепочку обработки данных. Они ленивы, то есть не выполняются до вызова терминальной операции.

Основные промежуточные методы:

  • filter(Predicate) — фильтрует элементы по условию.
  • map(Function) — преобразует элементы, применяя функцию.
  • flatMap(Function) — преобразует каждый элемент в стрим и объединяет их.
  • distinct() — убирает дубликаты.
  • sorted() / sorted(Comparator) — сортирует элементы.
  • limit(long) — ограничивает количество элементов.
  • skip(long) — пропускает первые N элементов.

Пример:

List<String> names = Arrays.asList("Anna", "Bob", "Alice", "Brian");
List<String> filtered = names.stream()
    .filter(s -> s.startsWith("A"))
    .map(String::toUpperCase)
    .sorted()
    .collect(Collectors.toList());
// filtered будет ["ALICE", "ANNA"]