Tôi muốn phát triển một bản demo sắp xếp cho danh sách xe hơi. Tôi đang sử dụng bảng dữ liệu để hiển thị danh sách xe. Bây giờ thực sự tôi muốn sắp xếp danh sách theo màu xe. Ở đây nó không được sắp xếp theo thứ tự bảng chữ cái. Tôi muốn sử dụng thứ tự sắp xếp tùy chỉnh của mình như xe Đỏ đến trước, sau đó đến Xanh lam, v.v.
Đối với điều đó, tôi cố gắng sử dụng Java Comparator
và Comparable
nó chỉ cho phép sắp xếp theo thứ tự bảng chữ cái.
Vậy có bác nào có thể hướng dẫn em cách thực hiện kỹ thuật sử dụng để việc phân loại trở nên nhanh chóng hơn không ạ.
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
}
}