在java中为高分数排序数字

我的游戏有一个高分系统。 我希望能够按照有序的顺序对数字进行排序,我有办法对数字进行排序

public static int[] sort(int[] a){ Arrays.sort(a); return a; } 

但是我怎么做到这一点所以分数与设定它的玩家的名字保持一致? 比如我:10你:50

你应该是1号,我应该是nubmer 2.如何使它使得字符串在排序时保持int? 谢谢

最简单的是创建一个类来保存人的姓名和分数。 使它实现Comparable接口,在compareTo(...)方法中将当前对象的得分( this )与传递给方法的对象进行比较,然后按照您的方式对此类的对象数组进行排序这样做。

 class MyFoo implements Comparable { private String name; private int score; public MyFoo(String name, int score) { // ... etc... } // getter methods here public int compareTo(MyFoo other) { return score - other.getScore(); } //.... etc... } 

创建一个类Player ,其中包含Player的名称及其得分,以及相应的getter( getName()getScore() ),您将能够对一组播放器进行排序

  Player[] players = ... Arrays.sort(players, new Comparator { public int compare(Player p1, Player p2) { return Integer.valueOf(p1.getScore()).compareTo(p2.getScore()); } }