我需要不斷地向數據字段添加新玩家。所以我在考慮首先將所有人添加到一個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. 根據另一個數組對數組進行排序,swift
- 3. 如何根據另一個數組對數組進行排序?
- 4. 根據出現次數對數組進行升序排序
- 5. 根據出現次數對數組進行排序
- 6. Java - 對2D數組進行排序
- 7. 使用Java對數組進行排序
- 8. 如何根據對象的屬性對數組進行排序?
- 9. 對數組進行排序
- 10. 根據內部數組上的對象的屬性對數組進行排序
- 11. 對數組或數組進行排序?
- 12. 根據月份對數據庫結果對象(數組)進行排序
- 13. 根據日期對NSDictionary數組進行排序
- 14. 根據用戶輸入對數組列表進行排序?
- 15. PHP - 根據另一個陣列對數組進行排序
- 16. Laravel如何根據數組索引對集合進行排序
- 17. 如何根據列值對numpy數組進行排序?
- 18. 根據PHP中的日期對事件數組進行排序
- 19. 如何根據notif_date_sort對這個多維數組進行排序?
- 20. 用表單數據創建數組對數據進行分組和排序
- 21. 如何根據Java中的比率對兩個數組進行排序?
- 22. 根據java中的值排序數組
- 23. 首先根據另一個數組對數組中的值進行排序
- 24. 如何根據Swift中的數組內容對字典數組進行排序
- 25. 如何根據一個數組對多個數組進行排序?
- 26. 如何根據數據行子串對VB.NET DataView進行排序?
- 27. 如何根據除數的數量對數組元素進行排序?
- 28. 根據條件數進行排序
- 29. 如何使用行分組對PrimeNG數據表中的數據進行排序
- 30. 使用PHP對XML數據進行排序/分組?
創建一個自定義的「Comparator」或實現「Comparable」。 –
請添加您的代碼到目前爲止嘗試過的內容。 – proudandhonour
在TreeSet中保存對象,將比較器傳遞給TreeSet構造函數,它將爲您保留命令 –