0

オブジェクトの ArrayList があります。各オブジェクトのタイプは Player (私が持っているクラスの 1 つ) です。各 Player オブジェクトには getName() メソッドと getValue() メソッドがあります。getValue メソッドは整数型です。すべての Player オブジェクトは、ArrayList、listOfPlayers に入ります。getValue() が最大の PLayer オブジェクトを見つけるにはどうすればよいですか?

Collections.max() というメソッドがあることは知っていますが、私にとっては、ArrayList が整数でいっぱいの場合にのみ機能するようです。

ありがとう

4

2 に答える 2

5

max()コンパレータと併用

Collection.max(collection, customComparator);

こちらもご覧ください

于 2013-10-05T05:21:09.167 に答える
2

このようにクラスに Comparator を実装する必要があります

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);
于 2013-10-05T05:26:20.957 に答える