我需要不断地向数据字段添加新玩家。所以我在考虑首先将所有人添加到一个ArrayList,其中对象播放器有两个变量:名称和分数。然后我想创建一个排名方法,将所有玩家从我的数组列表中存入数组,并将其从最高分到最低分。我不知道如何对它们进行排序,因为这是我想要排序的自定义对象。我正在使用的示例是一个由49名玩家组成的数据集。[Java]根据玩家分数对数组进行排序
-2
A
回答
0
您必须实现Comparable
接口并覆盖compareTo
方法才能进行自定义比较。更多这里:https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
0
它似乎为你工作。
public static void main(String[] args) {
List<Player> players = new ArrayList<>();
players.add(new Player("L", 98));
players.add(new Player("M", 88));
players.add(new Player("N", 90));
System.out.println("before " + players);
Collections.sort(players, new Comparator<Player>() {
@Override
public int compare(Player o1, Player o2) {
return o1.getScore() > o2.getScore() ? -1 : 1;
}
});
System.out.println("after " + players);
}
static class Player {
private String name;
private double score;
public Player(String name, double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "{" + name + ", " + score + "}";
}
}
相关问题
- 1. 使用选择排序根据玩家点数对列表进行排序?
- 2. 如何根据另一个数组对数组进行排序?
- 3. 根据子数组对数组进行排序count
- 4. 如何根据输入数组对数组进行排序?
- 5. 根据另一个数组对数组进行排序,swift
- 6. 根据出现次数对数组进行升序排序
- 7. 根据票数对人进行排序
- 8. 基于玩家位置排序数组
- 9. 根据出现次数对数组进行排序
- 10. 使用Java对数组进行排序
- 11. Java - 对2D数组进行排序
- 12. 如何根据对象的属性对数组进行排序?
- 13. 根据给定的顺序对数组进行排序
- 14. 根据条件对ArrayList数据进行排序和排序
- 15. 对数组进行排序
- 16. 对数组进行排序
- 17. 如何根据java中的时间戳对FTPFile []数组对象进行排序
- 18. 根据内部数组上的对象的属性对数组进行排序
- 19. 根据时间变量对分组数据帧进行排序colum
- 20. 对数组或数组进行排序?
- 21. 根据月份对数据库结果对象(数组)进行排序
- 22. PHP - 根据另一个阵列对数组进行排序
- 23. 根据其初始键对PHP数组进行排序?
- 24. 根据file.lastModified对文件[]的数组进行排序
- 25. 根据当前时间对php数组进行排序
- 26. Laravel如何根据数组索引对集合进行排序
- 27. 如何根据键值对TCL数组进行排序?
- 28. 根据长度对字符串数组进行排序
- 29. 如何根据notif_date_sort对这个多维数组进行排序?
- 30. 如何根据列对数组列表进行排序?
创建一个自定义的“Comparator”或实现“Comparable”。 –
请添加您的代码到目前为止尝试过的内容。 – proudandhonour
在TreeSet中保存对象,将比较器传递给TreeSet构造函数,它将为您保留命令 –