我有一个包含 CoolMove 元素的 ArrayList,并希望根据 CoolMove.getValue() 返回的值对其进行排序(这些值是 double 值)。我读到您可以使用比较器类进行排序,为了尝试执行此操作,我做了以下操作:
我有 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) 我该如何解决这个问题?
最佳答案
moveList
是一个列表而不是数组,使用 Collections
中的排序方法:
Collections.sort(moveList, new myComp());
关于java - 通过比较器对 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596430/