Подсчет элементов потока в Java
Метод count возвращает long: число
элементов, дошедших до конца цепочки. Он не
материализует список, поэтому удобен, когда
важен только размер результата.
После отбора можно сравнить длину и сами значения двумя конечными командами:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> nums = List.of(10, 2, 7, 15, 4);
long amount = nums.stream()
.filter(n -> n >= 7)
.count();
List<Integer> picked = nums.stream()
.filter(n -> n >= 7)
.toList();
System.out.println(amount);
System.out.println(picked);
}
}
Если в цепочке есть distinct или limit,
count учитывает уже преобразованный поток,
а не исходную коллекцию.
Дан код:
var nums = List.of(1, 2, 3, 4, 5, 6);
Посчитайте, сколько чисел кратны двум.
Дан код:
var strings = List.of("go", "tool", "io", "kit");
Отберите слова из трех и более символов и выведите их количество.