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

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как заставить max возвращать ВСЕ максимальные значения в Java Stream?

Сообщение Anonymous »

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


Подробнее здесь: https://stackoverflow.com/questions/293 ... ava-stream
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»