我正在开展一个项目,从文本文件中读取有关冬季奥运会不同运动员得分的数据。通过比较每个运动员和他们的国家并将其加到总数中,我成功地找到了每个国家的总分。这些总数中的每一个都存储在双打中:FRA,CHN,UKR,GER,RUS,CAN,ITA,USA,JPN和GBR。 (均代表不同的国家)
所以现在我有一堆存储为双精度值的值,我需要按降序排序。我知道我可以将双打放入一个数组并对其进行排序,但我将失去与每个值相关联的国家/地区的名称。在PHP中我可以简单地将它放入一个关联数组并对其进行排序 - 但不幸的是我对java的理解非常差,并且不知道该怎么做。如果有人能够至少指出我正确的方向,我将不胜感激。
输出需要按降序显示国家/地区名称及其得分。
答案 0 :(得分:2)
public class Score implements Comparable<Score>{
private String country;
private int score;
//write getters, setters
public int compareTo(Score otherScore){
return otherScore.score - this.score // for descending
// return this.score - otherScore.score for assending
}
}
您可以创建Score对象数组并将其传递给Array.sort(array); 现在,这些对象的排序标准是得分。
详细示例: http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/