私は2つのクラスを持っています
public class PopularSports {
public int Rank;
public String Sport;
}
public class Medals {
public String Sport
public String Medal
public int Year
public String Game
public String Athlete
}
csvをリードして各クラスのリストに結果を取得しようとすると、次の順序でソートしたいと思います。
PopularSports クラスは、次の順序で並べ替える必要があります。
- ランク
- スポーツ
Medals クラスは、次の順序で並べ替える必要があります。
- スポーツ
- メダル
- 年
- ゲーム
- アスリート
このようなコンパクターを作成しました
Collections.sort(medalReportList, new Comparator<Medals >() {
@Override
public int compare(Medals o1, Medals o2) {
return getRankOfSportBySportName(o1.getSport()) > getRankOfSportBySportName(o2.getSport())
? +1
: getRankOfSportBySportName(o1.getSport()) < getRankOfSportBySportName(o2.getSport())
? -1
: o1.getAthlete().compareToIgnoreCase(o2.getAthlete());
}
});
しかし、それは実現していません。アスリートの名前を並べ替えています。