Ничего не требует лямбда. В вашем случае цикл for может сделать то же самое:
int maxCnt = 0;
for (var a : incoming) {
Integer cnt = wordFrequency.get(a);
if (cnt != null && cnt > maxCnt) maxCnt = cnt;
}
Это читабельно и хорошо работает;Вы ничего не теряете, если не используете лямбду - сегодня.
В будущем, с улучшением производительности параллельных потоков возможно , будет целесообразно запускать даже небольшие рабочие нагрузки параллельно. Другими словами, больше потоков может по умолчанию быть параллельными, а не последовательными. В таком будущем использование Stream
и лямбд вместо этого цикла for позволит вашему коду воспользоваться этими улучшениями без переписывания.