Как заставить max () возвращать ВСЕ максимальные значения в потоке Java?

Я немного протестировал функцию 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.

Ответы на вопрос(5)

Ваш ответ на вопрос