[英]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.