Вы, кажется, живете в отрицании объекта .Эти внутренние массивы очень похожи на информацию о Person (с именем и некоторым значением, может быть, счетом).
Что вы хотели бы сделать, это написать собственный класс для хранения этой информации:
public class Person {
private final String name;
private final double score;
public Person(final String name, final double score) {
this.name=name;
this.score=score;
}
public String getName() {
return name;
}
public double getScore() {
return score;
}
}
Затем, когда вы хотите отсортировать их, вы просто реализуете Comparator<Person>
, который указывает, как вы хотите их отсортировать:
public PersonScoreComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Double.compare(p1.getScore(), p2.getScore());
}
}
В качестве альтернативы, вы можетечтобы сам класс Person
реализовал Comparable<Person>
, добавив этот метод:
public int compareTo(Person other) {
return Double.compare(getScore(), other.getScore());
}