如何按点(最高的第一个)
对ArrayList“highscoreList”进行排序这是一个高分
public class Highscore {
private String name;
private int points;
private Date date;
这是我的清单
ArrayList<Highscore> highscoreList;
答案 0 :(得分:0)
Collections.sort
方法有一个可选的Comparator
变量:
Collections.sort(highscoreList, new Comparator<Highscore>(){
public int compare(Highscore h1,Highscore h2){
// Write your logic here.
}});
当然,你可以编写一个实现Comparator的实际类,上面只是一个简写。
答案 1 :(得分:0)
您必须使用Collections.sort()
并覆盖其compare()
方法:
Collections.sort(highscoreList, new Comparator<>() {
@Override
public int compare(Highscore h1,Highscore h2) {
return h2.getPoints() - h1.getPoints();
}
});
compare()
方法的主体说明了如何比较Highscore
类的实例。假设points
是主要和唯一标准,请将它们与getter一起使用。
由于您使用h2.getPoints() - h1.getPoints()
,因此按降序排序。要实现升序,只需将compare()
方法的正文更改为:h1.getPoints() - h2.getPoints()
。