gpt4 book ai didi

java - 关于Java LinkedList方法的问题

转载 作者:行者123 更新时间:2023-12-02 04:43:31 26 4
gpt4 key购买 nike

嗨,我对 Java 很陌生,并且在链接列表方面遇到了这个问题。我的 find 和 max 方法没有产生正确的输出。find 方法以 E 类型元素为参数,如果该项在链表中则返回 true,否则返回 false。max方法是如果列表不为空则返回列表中的最大元素,如果列表为空则返回null。比较必须通过compareTo()来完成。

我尝试查找“Apple”,它确实在列表中,但是返回 false。另外,我返回的最大元素是“Apple”,而不是“Watermelon”。

非常感谢任何帮助!

  public E max(){
Iterator<E> iterator=iterator();
E max = iterator.next();
while (iterator.hasNext())
{
E next = iterator.next();
if (max.compareTo(next) > 0)
max = next;
}
return max;
}

最佳答案

if (current.equals(e)){
return true;

您需要与节点的项目进行比较,而不是与节点本身进行比较。

if (max.compareTo(next) > 0) 
max = next;

需要颠倒比较:如果旧的 max 小于当前项目,则您已找到新的 max

关于java - 关于Java LinkedList方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29908769/

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