我有一个对象的ArrayList。每个对象都是Player类型(我拥有的类之一)。 每个Player对象都有一个getName()方法和一个getValue()方法。 getValue方法是整数类型。 所有Player对象都进入ArrayList,listOfPlayers。 如何找到getValue()最高的PLayer对象?
我知道有一个名为Collections.max()的方法,但对我来说,只有当ArrayList只是整数时才会起作用。
由于
答案 0 :(得分:5)
答案 1 :(得分:2)
您需要像这样为您的班级实施比较器
Comparator<Player> cmp = new Comparator<Player>() {
@Override
public int compare(Player o1, Player o2) {
return Integer.valueOf(o1.getValue()).compareTo(Integer.valueOf(o2.getValue()));
}
};
然后致电
Collections.max(listOfPlayers, cmp);