Saltar al contenido

Invertir un comparador en Java 8

Te doy la bienvenida a nuestro sitio, ahora encontrarás la resolución que buscas.

Solución:

Puedes usar Comparator.reverseOrder() tener un comparador que dé el orden inverso al natural.

Si desea invertir el orden de un comparador existente, puede utilizar Comparator.reversed().

Código de muestra:

Stream.of(1, 4, 2, 5)
    .sorted(Comparator.reverseOrder()); 
    // stream is now [5, 4, 2, 1]

Stream.of("foo", "test", "a")
    .sorted(Comparator.comparingInt(String::length).reversed()); 
    // stream is now [test, foo, a], sorted by descending length

También puede usar Comparator.comparing (Función, Comparador)
Es conveniente encadenar comparadores cuando sea necesario, por ejemplo:

Comparator ENTITY_COMPARATOR = comparing(SomeEntity::getProperty1, reverseOrder())
        .thenComparingInt(SomeEntity::getProperty2)
        .thenComparing(SomeEntity::getProperty3, reverseOrder());

Java 8 Comparator interfaz tiene un reversed método: https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#reversed–

Te mostramos las comentarios y valoraciones de los usuarios

Al final de la página puedes encontrar las críticas de otros usuarios, tú igualmente tienes la libertad de dejar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *