Je souhaite développer une démonstration de tri pour une liste de voitures. J'utilise un tableau de données pour afficher la liste des voitures. Maintenant, je veux trier la liste par couleur de voiture. Ici, le tri ne se fait pas par ordre alphabétique. Je veux utiliser mon propre ordre de tri, comme par exemple la voiture rouge vient en premier, puis la bleue, etc.
Pour cela, j'essaie d'utiliser Java Comparator
y Comparable
mais il ne permet de trier que par ordre alphabétique.
Donc, quelqu'un peut-il me guider sur la façon de mettre en œuvre la technique à utiliser pour que le tri devienne plus rapide.
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
}
}