我想知道是否可以为单个类实现更多可比较数据。 我首先通过整数字段来命令我的arraylist然后在我的程序的另一部分中我必须通过另一个字段来命令它。 我怎么能这样做?我想过一个自定义比较器,但它没有用。
public void OrderbyColours(ArrayList<Horses> scuOrderedByColours,
ArrayList<Horses> ArrayScud) {
scuOrderedByColours.addAll(ArrayScud);
Collections.sort(scuOrderedByColours, new Comparator<Horses>() {
public int compare(Horses o1, Horses o2) {
return o1.Position - o2.Position;
}
});
}
答案 0 :(得分:1)
假设比较器不工作(我很好奇它们如何不工作),或者你根本不想使用它,你可以编写一个包含原始类的实例的包装类数据
离。
public class HorsesWrapper implements Comparable<HorsesWrapper>
{
private Horses horses;
public int compareTo(HorsesWrapper other)
{
// your sort criteria based on the Horse member.
}
}