gpt4 book ai didi

java - 用于比较两个 ListNode 值的比较器

转载 作者:行者123 更新时间:2023-11-29 03:41:18 28 4
gpt4 key购买 nike

如果 ListNode o1.value > ListNode o2.value,我如何比较两个 ListNode 值返回 1,如果相等则返回 0,如果小于则返回 -1。

我现在有这个比较器,但是有一个错误说抽象方法没有实现。此外,我不确定它们是否会正确比较值,例如下面的示例。

添加'd'。添加'b'。添加'e'

b->d->e

private Comparator<? super E> priorityComparator = new Comparator<E>(){ 
public int compare(ListNode<E> o1, ListNode<E> o2) {
String i1 = o1.value.toString();
String i2 = o2.value.toString();
return i1.compareTo(i2);
}};

我怎样才能正确地实现这个比较器,以便它接受两个 ListNode 对象并返回它们之间的 int 值比较?

最佳答案

您目前尚未实现 Comparator<E>.compare - 你已经实现了 Comparator<ListNode<E>>.compare .您或者需要更改变量的类型,或者您需要更改方法的参数。如果你真的想做一些比较节点的东西,那么你需要 Comparator<ListNode<E>> .

另请注意,您的比较仅适用于 toString() 的类型以与其自然顺序兼容的方式被覆盖。例如,它不适用于 ListNode<Integer>。 ,因为它会声称值 10 小于值 2...

关于java - 用于比较两个 ListNode 值的比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054761/

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