我正在處理這個非常小的項目,我有一個汽車對象的數組列表,我試圖按價格升序打印所有車輛。當我環顧網上時,似乎每個人都在用數組來完成它,而不是數組列表?按價格屬性對arraylist中的對象進行排序
關於如何使數組列表成爲可能的任何想法?以下是我的代碼。
public ArrayList<Car> sortPriceAcending(ArrayList<Car> cars) {
ArrayList<Car> sortedCars = new ArrayList<Car>();
Car temp;
for (int j = 0; j < cars.size() - 1; j++) {
for (int i = 0; i < cars.size() - 1; i++) {
Car car = (Car) cars.get(i);
Car car1 = (Car) cars.get(i + 1);
if (car.getPrice() > car1.getPrice()) {
temp = car;
cars.get(i) = cars.get(i + 1);
cars.get(i + 1) = temp;
sortedCars = cars;
}
}
}
return sortedCars;
}
如果要基於對象的多個屬性進行排序,可以使用java.util.Compartor接口。 - 你將不得不使用Collections.sort(名單>升,比較器C),例:類yourComparatorimplements比較 { 公衆詮釋比較(OBJ OBJ1,OBJ OBJ 2){ 回報obj1.getAttribute()的compareTo (OBJ 2。的getAttribute()); } } –