मैं कार सूची के लिए एक सॉर्टिंग डेमो विकसित करना चाहता हूं। मैं कार सूची प्रदर्शित करने के लिए डेटा तालिका का उपयोग कर रहा हूं। अब वास्तव में मैं कार के रंग द्वारा सूची को क्रमबद्ध करना चाहता हूं। यहाँ यह वर्णानुक्रम द्वारा क्रमबद्ध नहीं है। मैं अपने कस्टम छँटाई क्रम का उपयोग करना चाहता हूं जैसे रेड कार पहले आओ, फिर ब्लू, आदि।
कि मैं जावा इस्तेमाल करने की कोशिश के लिए 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
}
}