データフィールドに新しいプレーヤーを追加する必要があります。だから私は最初にオブジェクトプレイヤーが名前とスコアの2つの変数を持つArrayListに誰も追加することを考えていました。それから私は、私の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. Java他の配列に基づいて複数の配列をソート
- 2. 別のキー配列に基づいてオブジェクト配列をソート
- 3. サブ配列のサイズに基づいてオブジェクトのリストをソート
- 4. 複数のパラメータに基づいてオブジェクトの配列をソート
- 5. 現在の時間に基づいてPHP配列をソート
- 6. その値に基づいて配列をソート
- 7. tinysortカスタム配列の順序に基づいてdivをソート
- 8. 値に基づいて配列のインデックスをソート
- 9. 変数に基づいてオブジェクト配列を別の配列にソート
- 10. 他の配列の内容に基づいて配列をソートする方法
- 11. オカレンスに基づいて配列をソートする
- 12. オブジェクトメンバに基づいてC#配列をソートしますか?
- 13. 人気度に基づいてNS(可変)配列をソート
- 14. 配列フィールドサイズに基づいて文書をソート
- 15. 重複値に基づいて配列をソート
- 16. キーに基づいて配列をソートする方法は?
- 17. booleanプロパティに基づいて配列をソート
- 18. カスタムソート順配列に基づいてJSONをソートする
- 19. jQuery/JS:別の配列に基づいて配列をソートする?
- 20. 3番目の配列に基づいて多次元配列をソート
- 21. 値に基づいてソートされた配列オブジェクト
- 22. 別の配列をソートする方法に基づいて1つの配列をソートする方法は? (JavaScript)
- 23. CoreData:INを使用して述語/配列に基づくソート
- 24. 他の配列の値に基づいて配列の順序/配列をソートするクエリDB
- 25. 最初にキーに基づいて配列をソートするには?
- 26. 任意のオブジェクト値に基づいて配列をソートする方法は?
- 27. 以前の数値キーに基づいて配列をソートする方法は?
- 28. オブジェクト配列をインスタンス変数に基づいて昇順にソートする方法
- 29. クリックに基づいて配列を取得する方法
- 30. インデックスに基づいて配列アイテムを取得します
カスタム「コンパレータ」を作成するか、「Comparable」を実装します。 –
これまでに試したことをあなたのコードに追加してください。 – proudandhonour
TreeSetのオブジェクトを保持し、コンパレータをTreeSetコンストラクタに渡します。 –