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