Sobes.tech
Junior — Middle

¿Puedes describir los principales tipos de operaciones disponibles en la API de Streams en Java?

sobes.tech AI

Respuesta de la IA

В Java Stream API операции делятся на две основные категории: промежуточные (intermediate) и терминальные (terminal).

  • Промежуточные операции возвращают новый Stream и позволяют строить цепочку обработки данных. Они ленивы, то есть не выполняются до тех пор, пока не вызовется терминальная операция. Примеры: filter(), map(), sorted(), distinct(), limit(), skip().

  • Терминальные операции завершают цепочку и возвращают результат или побочный эффект. После их вызова Stream становится недоступным. Примеры: collect(), forEach(), reduce(), count(), anyMatch(), allMatch(), findFirst().

Пример использования:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie", "David");

List<String> filteredNames = names.stream()
    .filter(name -> name.startsWith("A"))  // промежуточная операция
    .map(String::toUpperCase)               // промежуточная операция
    .collect(Collectors.toList());          // терминальная операция

System.out.println(filteredNames); // [ANNA]