Ответ
Количество элементов в Stream можно получить с помощью терминальной операции count().
Пример:
import java.util.stream.Stream;
long count = Stream.of("apple", "banana", "orange")
.count(); // Результат: 3
// Для пустого потока
long emptyCount = Stream.empty().count(); // Результат: 0
Важные особенности:
- Возвращаемый тип:
long. - Поведение: Операция
count()является терминальной и потребляет поток. - С бесконечными потоками: Вызов
count()на бесконечном потоке (например,Stream.generate(() -> "data")) никогда не завершится. - Альтернатива: Можно использовать коллектор
Collectors.counting(), но прямой вызовcount()обычно эффективнее.import java.util.stream.Collectors; Long count = stream.collect(Collectors.counting());