Gozus19:
Estoy tratando de encontrar una manera de definir una aplicación única de java.util.Comparator
uso, tanto para subir y bajar el propósito de pedidos.
He definido una clase Golf.java
que representa el coche de Volkswagen. También he definido un comparador que orden Golf
los casos por caballos de potencia ( int
variable). Me preguntaba si es posible utilizar la misma comparación para tanto ascendente como descendente pedido.
GolfHorsePowerComparator.java
package test2.comparator;
import test2.dto.Golf;
import java.util.Comparator;
public class GolfHorsePowerComparator implements Comparator<Golf> {
@Override
public int compare(Golf a, Golf b) {
return a.getHorsePower() > b.getHorsePower() ? 1 : a.getHorsePower() == b.getHorsePower() ? 0 : -1;
}
}
Dada una lista de Golf
cómo podría ordenar la ascendente o descendente utilizando la misma java.util.Comparator
aplicación?
Aniket Sahrawat:
Se puede utilizar Collections::reverseOrder
para ordenar en orden desc. P.ej:
GolfHorsePowerComparator golfHorsePowerComparator = new GolfHorsePowerComparator();
Collections.sort(golfList, Collections.reverseOrder(golfHorsePowerComparator));