使用數據表的比較器進行自訂排序
您提到使用數據表來顯示汽車列表並希望按汽車顏色對它們進行排序,不按字母順序排列。為了實現這一點,您可以利用 Java 的 Comparator 介面。
您嘗試過使用 Comparable 和 Comparator,但它似乎只允許按字母順序排序。這是使用自訂比較器的增強方法:
首先按照建議定義汽車顏色的枚舉:
public enum PaintColors { SILVER, BLUE, MAGENTA, RED }
更新您的ColorComparator 以根據PaintColors 枚舉進行比較:
更新您的ColorComparator 以根據PaintColors 枚舉進行比較:static class ColorComparator implements Comparator<Car> { public int compare(Car c1, Car c2) { return c1.getColor().compareTo(c2.getColor()); } }將Car 中的字串顏色欄位替換為PaintColors列舉:
private PaintColors color;在您的主要方法中,更新您的汽車清單並使用自訂比較器進行排序:
carList.add(new Car("Ford", PaintColors.SILVER)); ... Collections.sort(carList, new ColorComparator());此方法使用枚舉來表示汽車顏色,可讓您定義枚舉聲明中的自訂排序順序。然後,ColorComparator 使用定義的順序對汽車清單進行有效排序。
以上是如何使用 Java 中的自訂比較器按顏色對汽車資料表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!