Я немного тестировал функцию max() на ябетах и потоках Java 8, и кажется, что в случае выполнения max(), даже если более одного объекта сравнивается с 0, он возвращает произвольный элемент в пределах связанным кандидатам без дальнейшего рассмотрения.
Есть ли очевидный трюк или функция для такого максимального ожидаемого поведения, так что все максимальные значения возвращаются? Я ничего не вижу в API, но я уверен, что он должен существовать чем-то лучше, чем сравнивать вручную.
Например:
//myComparator is an IntegerComparator
Stream.of(1,3,5,3,2,3,5).max(myComparator).forEach(System.out::println);
//Would print 5,5 in any order.