我尝试加入生菜和鸡肉之间pickels在我的链表,并打印出最终产品应该是:的LinkedList使用迭代器
Bread1,芥菜,生菜,pickels,鸡肉,番茄,Bread2,结束.. 。
但是,程序只打印出:芥末,鸡肉,Bread2,结束...
能有人向我解释这个错误吗?
public class LinkedList
{
public static void main(String[] args)
{
List<String> myLinkedList = new LinkedList<String>();
String strOutput="";
myLinkedList.add("Bread1");
myLinkedList.add("mustard");
myLinkedList.add("lettuce");
myLinkedList.add("chicken");
myLinkedList.add("tomato");
myLinkedList.add("Bread2");
ListIterator<String> lit = myLinkedList.listIterator();
while (lit.hasNext())
{
String str = lit.next();
if (myLinkedList.equals("lettuce"))
{
lit.add("pickels");
}
strOutput += (lit.next().toString() + ",") ;
}
strOutput += ("end...\n");
}
}
'lit.next()。toString()'为什么第二次调用'#next'? 'if(myLinkedList.equals(“lettuce”))'你也可以写'if(false)',所以请考虑你在那里做什么。 – Tom