¿Cómo forzar max () para devolver TODOS los valores máximos en una secuencia Java?

He probado un poco la función max () en Java 8 lambdas y streams, y parece que en caso de que max () se ejecute, incluso si más de un objeto se compara con 0, devuelve un elemento arbitrario dentro de los candidatos vinculados sin para mayor consideracion.

¿Hay algún truco o función evidente para un comportamiento esperado máximo, de modo que se devuelvan todos los valores máximos? No veo nada en la API, pero estoy seguro de que debe existir algo mejor que compararlo manualmente.

Por ejemplo:

//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.

Respuestas a la pregunta(5)

Su respuesta a la pregunta