在java中我有一个我自己的数组列表(已实现)我有一个排序方法,所以我需要“比较”和#39;这就是为什么我实现了Comparable并使类抽象化的方法。但是,如果我使用主要的arraylist我必须实现比较方法。但是我无法理解我如何能够实现这一点。(我有一个限制,例如,如果我有一个' order' class i cant的arraylist在订单类中实现可比较的)
的ArrayList
public abstract class ArrayList<T> implements Comparable
内部排序功能
Comparable left=(Comparable)L[i];
Comparable right=(Comparable)R[j];
for(int k=start;k<=end;k++)
{
if(left.compareTo(right)<=0)
{
array[k]=L[i];
i++;
left=(Comparable)L[i];
}
从主要
ArrayList<Order> order = new ArrayList<Order>() {
@Override
public int compareTo(Object o) {
if(this)// but this main is not order class this is arraylist class
return 0;
}
};
答案 0 :(得分:1)
为什么ArrayList
实施Comparable
?你想比较2个名单吗?
如果要比较或排序列表的元素,则元素应该是Comparable,而不是列表本身。
您还可以查看以下问题:How to use Comparator in Java to sort
然后,您必须为您的班级Comparator
实施Order
(而不是界面Comparable
)