我有一个像这样的数据集:
85 [Italy, France]
95 [Italy]
91 [Israel, Jordan]
85 [France, Italy, Switzerland]
80 [USA]
84 [Mongolia, China]
95 [Antarctica]
84 [African Union]
82 [Argentina]
95 [Tibet, Nepal]
...
我使用下面的代码(定义类模型)基于整数进行了排序:
public class Wonder implements Comparable<Wonder> {
int hostility;
List<String> countries;
//some other data members
//constructor
//getters
@Override
public int compareTo(Wonder other) {
if(hostility == other.hostility) {
return 0;
} else if(hostility < other.hostility) {
return -1;
} else if(hostility > other.hostility) {
return 1;
} else {
return 0;
}
}
}
排序代码(PS:getAllData方法将返回奇迹列表,从文本文件加载):
List<Wonder> wonders = getAllData(filePath);
wonders.sort((c1,c2)->c1.compareTo(c2));
Collections.reverse(wonders); // ordering highest to lowest
排序后的数据集(基于整数排序)看起来像这样:
95 [Antarctica]
95 [Italy]
95 [Tibet, Nepal]
91 [Israel, Jordan]
85 [France, Italy, Switzerland]
85 [Italy, France]
84 [Mongolia, China]
84 [African Union]
82 [Argentina]
80 [USA]
...
现在,需要将新生成的数据集按字母顺序排序,即国家列表(字符串)。例如,在新数据集中,有两条记录具有相同的整数 84(第一个整数为蒙古国,第二个整数为非洲联盟国家),因此第二条记录应该排在第一位,因为非洲联盟按字母顺序排列在蒙古之前。
...
84 [African Union]
84 [Mongolia, China]
...
问题:如何根据字符串列表对整数列表进行排序?
慕标5832272
白衣染霜花
冉冉说
相关分类