【发布时间】:2018-12-03 23:12:49
【问题描述】:
我有一个包含 CoolMove 元素的 ArrayList,并希望按 CoolMove.getValue() 返回的值对其进行排序(这些值是双精度值)。我读到您可以使用比较器类进行排序,为了做到这一点,我做了以下操作:
我有 2 个类,其中一个具有以下代码行:
ArrayList<CoolMove> moveList = getMoves();
Arrays.sort(fishMoves, new myComp());
我的第二类是这个比较器:
class myComp implements Comparator<CoolMove> {
@Override
public int compare(CoolMove move1, CoolMove move2) {
return Double.compare(move1.getValue(), move2.getValue());
}
}
我的问题是在 Arrays.sort 我得到这个错误: Arrays 类型中的方法 sort(T[], Comparator) 不适用于参数 (ArrayList, myComp) 我该如何解决这个问题?
【问题讨论】:
-
你需要
Collections.sort()而不是Arrays.sort()。
标签: java arraylist comparator