0

我想知道是否可以为单个类实现更多 Comparables。我必须首先按整数字段对我的数组列表进行排序,然后在程序的另一部分中,我必须按另一个字段对其进行排序。我怎么能这样做?我想过一个自定义比较器,但它没有用。

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;
        }
    });
}
4

1 回答 1

1

假设比较器不工作(我很好奇它们是如何不工作的),或者您根本不想使用一个,您可以编写一个包装类,其中包含原始类的实例作为数据。

前任。

public class HorsesWrapper implements Comparable<HorsesWrapper>
{
  private Horses horses;

  public int compareTo(HorsesWrapper other)
  {
    // your sort criteria based on the Horse member.
  }
}
于 2013-06-14T15:19:08.837 回答