gpt4 book ai didi

java - 如何实现自定义对象的 Compare to 方法

转载 作者:行者123 更新时间:2023-11-30 07:23:25 25 4
gpt4 key购买 nike

在java中,我有一个自己的数组列表(已实现),我有一个排序方法,所以我需要“compareTo”方法,这就是我实现Comparable并使类抽象的原因。但是如果我使用 main 中的 arraylist,我必须实现与方法进行比较。但我无法理解如何实现这个。(我有一个限制,例如,如果我有一个“order”类的 arraylist,我无法在 order 类中实现可比较)

数组列表

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

最佳答案

为什么你的ArrayList实现Comparable?您想比较 2 个列表吗?如果要对列表中的元素进行比较或排序,则元素应该是可比较的,而不是列表本身。

您还可以查看以下问题:How to use Comparator in Java to sort然后,您必须为您的类 Order 实现一个 Comparator(而不是接口(interface) Comparable)

关于java - 如何实现自定义对象的 Compare to 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com