我有一个数组和一个数组列表:
String[] league = {"Leeds United","Liverpool","Chelsea","Manchester City","Stoke City"...
List<Integer> points = new ArrayList<Integer>();
points.add(7);
poinst.add(0);
points.add(5);
points.add(0);
points.add(5);
哪里:
利兹联 = 7
利物浦 = 0 等等...
我希望能够按数字降序对列表进行排序,但联赛数组应该反射(reflect)这种排序。
这可能吗?以及我该怎么做。 谢谢
最佳答案
在某处定义这个静态类:
private static final class Pair implements Comparable<Pair> {
private final String name;
private final int score;
private Pair(String name, int score) {
this.name = name;
this.score = score;
}
@Override
public int compareTo(Pair p2) {
return Integer.compare(p2.score, score);
}
@Override
public final String toString() {
return "["+score+":"+name+"]";
}
}
并从您的分数数据中填写配对列表并对其进行排序:
List<Pair> pairs = new ArrayList<>();
for(int i=0;i<league.length;++i)
pairs.add(new Pair(league[i], points.get(i)));
Collections.sort(pairs);
System.out.println(pairs);
关于java - 根据数组列表的值对数组的内容进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27911260/