Chcę opracować demo sortowania listy samochodów. Używam tabeli danych do wyświetlenia listy samochodów. Teraz chcę posortować listę według koloru samochodu. Tutaj nie jest sortowane według kolejności alfabetycznej. Chcę użyć mojej niestandardowej kolejności sortowania, na przykład czerwony samochód, potem niebieski itp.
Do tego staram się używać Java Comparatori Comparableale pozwala uporządkować w kolejności alfabetycznej tylko.
Czy zatem ktoś może wskazać mi drogę do wdrożenia techniki, której należy użyć, aby sortowanie było szybsze.
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
}
}