Наверное, вы недоумеваете, зачем нужны и метод findFirst, и метод findAny. Все дело в параллелизме. Поиск первого элемента налагает больше ограничений при параллельном выполнении. Если вам неважно, какой именно элемент будет возвращен, задействуйте findAny, поскольку он налагает меньше ограничений (
Современный язык Java. Лямбда-выражения, потоки и функциональное программирование
·
Алан Майкрофт