Может ли кто-нибудь указать на официальную документацию по Java, в которой описано, сколько раз Stream будет вызывать каждую промежуточную операцию "без вмешательства и без сохранения состояния" для каждого элемента.
Например:
Arrays.asList("1", "2", "3", "4").stream()
.filter(s -> check(s))
.forEach(s -> System.out.println(s));
public boolean check(Object o) {
return true;
}
Вышеупомянутый в настоящее время вызовет метод check
4 раза.
Возможно ли, что в текущих или будущих версиях JDK метод check
выполняется более или менее раз, чем количество элементов в потоке, созданном из List или любого другого стандартного Java API?