簡體   English   中英

關於LinkedList Java方法的問題

[英]questions on methods of LinkedList Java

嗨,我是Java的新手,在鏈接列表中遇到了這個問題。 我的find和max方法無法產生正確的輸出。 find方法將采用E類型的元素作為參數,如果該項在鏈接的List中,則返回true,否則返回false。 如果列表不為空,則max方法將返回列表中的最大元素;如果為空,則返回null。 比較必須通過compareTo()完成。

我嘗試查找確實在列表中的“ Apple”,但是返回false。 同樣,我得到的最大元素是“蘋果”,而不是“西瓜”。

任何幫助是極大的贊賞!

  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您會發現一個新的max

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM