无法将项目添加到 java 链表

Trouble adding item to a java linked list

该程序的最后一部分应该是在生菜和鸡肉之间添加泡菜项,但每当我 运行 它时,它都会将其添加到列表的末尾。我不知道为什么。这是我输出方式的问题吗?老实说,我不知道为什么会这样。请帮忙!

public class LinkedListDemo 
{
  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()) 
{
  strOutput +=(lit.next() + ", ");
}
strOutput +=("end...\n");    


while(lit.hasPrevious()) 
{
  strOutput +=(lit.previous() + ", ");
}
strOutput +=("end...\n");


lit.next();
lit.next();
lit.next();

myLinkedList.add("pickles");

ListIterator<String> lit2 = myLinkedList.listIterator();

while(lit2.hasNext()) 
{
  strOutput +=(lit2.next() + ", ");
}
strOutput +=("end...\n");    

javax.swing.JOptionPane.showMessageDialog(null, strOutput);
System.exit(0);
  }

} 

您的列表与迭代器是分开的,因为迭代器的状态未反映在列表本身中。要使用迭代器添加内容,use the add method of the iterator.

myLinkedList.add("pickles");总会加在最后。迭代器在哪里并不重要。他们都是独立的。

您应该使用:myLinedList.add(3,"pickles") 将其添加到 "lettuce" 和 "chicken"

之间

您可以使用迭代器 add 方法将其添加到您想要的任何位置。 http://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html#add(E)