Я думаю, что сейчас самое время изучить интерфейс Comparable
. Вы можете создать класс, который сравнивает по score
и печатает его id
при вызове toString()
. Как упоминалось ранее, использование пользовательского Comparator
также будет достаточно, но если вы никогда не работали с Comparable
, я рекомендую сначала изучить его.
Вот ссылка на JavaDoc: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html
Вы должны знать, что для двух объектов o1 и o2 типа Comparable<T>
, o1.compareTo(o2)
вернет:
- -1, если o1
- 0, если o1 == o2 (опять же, в порядке, не обязательно равенство объектов)
- 1, если o1> o2
Эта информация поможет вам написать функцию compareTo
в вашем пользовательском классе.
Как только вы написали свой класс, Java Collections
класс предоставляет метод sort
, который будет сортировать List
из Comparables
. Легко!
Вот ссылка для этого: http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collections.html#sort%28java.util.List%29