Junior — Middle
Μπορείτε να περιγράψετε τους βασικούς τύπους λειτουργιών που διατίθενται στο API Stream στη Java;
sobes.tech AI
Απάντηση από AI
В 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]