我有List
个对象。在其中我有另一个List
Strings
(包含数字)。
如何根据List
List
内的数字订购Strings
个对象?
我试着这样做:
Collections.sort(bets, new Comparator<Bet>() {
public int compare(Bet b1, Bet b2) {
return Integer.valueOf(b1.getPlayersHighScores().get(0))
.compareTo(Integer.valueOf(b2.getPlayersHighScores().get(0)));
}
});
Collections.reverse(bets);
主要问题是List
投注可能有一个或多个投注,但List
getPlayersHighScores
可以包含多个Strings
。
答案 0 :(得分:0)
首先,为什么高分是一个String,如果它包含一个数字?将它变成Integer或其他数字会不会更有意义吗?
其次,为什么要保留高分榜?仅保留一个高分(最高分)是不是更有意义?
第三,您可以通过什么属性获得高分榜?正如您所观察到的那样,仅仅为每次下注获得第一个高分都没有多大意义。您想要按每个列表的最大值排序吗?总和?平均?
假设您要使用sum,那么您只需要编写比较器(Java8):
{{1}}