но я же правильно понимаю что коллектор вполне может тупо проигнорировать peek операцию и ее лучше вообще не использовать для мутирования?
Не всё время. А только вместо map. Стрим совершенно так же может проигнорировать map
В жабадоке мужественно пытались донести, что peek это просто peek "This method exists mainly to support debugging, where you want to see the elements as they flow past a certain point in a pipeline"
Он также пытается донести, что сайд-эффекты в стриме не стоит использовать, кроме как в операциях, которые созданы для сайд-эффектов (forEach и peek) https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html (ctrl+f, side-effects)
В свежем LTS информации побольше будет https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/stream/package-summary.html
а можно тогда узнать как именно будет решаться - пропускать ту или иную операцию в стриме или нет?
Просто. Не. Используй. Сайд-эффекты. В. Стриме.
я это понимаю, но мне интересно знать, как именно будет приниматься решение)
Это из за ленивости стримов. findFirst, count и похожие могут скипнуть peek
Обсуждают сегодня