Senior
Какви са междинните и крайните методи в стриймовете?
sobes.tech AI
Отговор от AI
В Java Stream API методите се делят на междинни (intermediate) и терминални (terminal).
-
Междинните методи връщат нов поток и позволяват изграждането на верига от операции. Те са лениви, тоест не се изпълняват веднага, а само при извикване на терминален метод. Примери:
filter(),map(),sorted(),distinct(). -
Терминалните методи стартират обработката на потока и връщат резултат (не поток). След извикването им, веригата приключва. Примери:
collect(),forEach(),reduce(),count().
Пример:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // междинен метод stream()
.filter(name -> name.length() > 3) // междинен метод filter()
.count(); // терминален метод count()
System.out.println(count); // Извежда броя на имената с повече от 3 символа