Quiero desarrollar una demostración de clasificación para la lista de autos. Estoy usando la tabla de datos para mostrar la lista de autos. Ahora, en realidad, quiero ordenar la lista por color de automóvil. Aquí no está ordenado por orden alfabético. Quiero usar mi orden de clasificación personalizado, como el automóvil rojo viene primero, luego el azul, etc.
Para eso trato de usar Java Comparator
y Comparable
solo permite ordenar en orden alfabético.
Entonces, ¿alguien puede guiarme en la forma de implementar la técnica a usar para que la clasificación sea más rápida?
class Car implements Comparable<Car>
{
private String name;
private String color;
public Car(String name, String color){
this.name = name;
this.color = color;
}
//Implement the natural order for this class
public int compareTo(Car c) {
return name.compareTo(c.name);
}
static class ColorComparator implements Comparator<Car> {
public int compare(Car c1, Car c2) {
String a1 = c1.color;
String a2 = c2.color;
return a1.compareTo(a2);
}
}
public static void main(String[] args) {
List<Car> carList = new ArrayList<>();
List<String> sortOrder = new ArrayList<>();
carList.add(new Car("Ford","Silver"));
carList.add(new Car("Tes","Blue"));
carList.add(new Car("Honda","Magenta"));
sortOrder.add("Silver");
sortOrder.add("Magenta");
sortOrder.add("Blue");
// Now here I am confuse how to implement my custom sort
}
}