尝试对包含参与者名称的String数组进行排序,以匹配包含测验分数的分数数组。我设法将得分从最高到最低排序,但名字位置错误。
答案 0 :(得分:2)
嗯,这就是Object
让您的生活变得异常轻松的地方。不要处理多个阵列。处理类型为Person
的单个数组。
public class Person {
private String name;
private int score;
public Person(String name, int score) {
this.name = name;
this.score = score;
}
// you'll need some getters and setters!
}
现在您可以实现Comparable
接口。这允许您排序。例如..
public class Person implements Comparable<Person>
这将迫使您实施compareTo
方法..
public int compareTo(Person other)
{
if(other.getScore() > this.score) return -1;
if(other.getScore() < this.score) return 1;
return 0;
}
然后,您可以调用Collections.sort
方法为您排序..
List<Person> myPeople = new ArrayList<Person>();
// Populate it..
Collections.sort(myPeople);
额外阅读