車リストの並べ替えデモを開発したい。データテーブルを使用して車のリストを表示しています。リストを車の色で並べ替えたいのですが。ここでは、アルファベット順ではありません。赤い車が最初に来て、次に青い車のように、カスタムの並べ替え順序を使用したいと思います。
そのためにJavaを使用しようComparator
としましたComparable
が、アルファベット順でのみ並べ替えることができます。
だから、ソートをより速くするために使用する手法を実装する方法を誰でも私に案内できますか?
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
}
}