我需要對最佳評分爲差的電影ArrayList進行排序(5個最佳-1個最差)。我正在使用Collections.sort(),但列表出來是一樣的。我在做什麼錯如何根據對象的變量之一對對象列表進行排序
films.add(new Film().setRating(1));
films.add(new Film().setRating(2.5));
films.add(new Film().setRating(3.5));
films.add(new Film().setRating(4));
films.add(new Film().setRating(5));
films.add(new Film().setRating(1));
films.add(new Film().setRating(2));
films.add(new Film().setRating(3));
films.add(new Film().setRating(4));
Collections.sort(films, new Comparator<Film>() {
@Override
public int compare(Film o1, Film o2) {
final double film1 = o1.getRating();
final double film2 = o2.getRating();
return film1 > film2? 1
: film1 < film2? -1 : 0;
}
});
側面說明:你真的需要雙精度保持收視率? – dantuch 2013-04-06 12:34:14
電影的具體類是什麼? 「 」比較器也可以用來控制某些數據結構的順序(例如排序集合或排序映射)「 – 2013-04-06 12:35:09
@dantuch可能不是 – code511788465541441 2013-04-06 12:35:47