【发布时间】:2012-12-17 07:12:52
【问题描述】:
我是新人,第一次发帖,如有错误请见谅。我想显示来自 4 LinkedList 的元素以及要像在表格中一样显示的元素。我不需要 JTable,因为我不需要 GUI。我试过使用 ListIterator 但它并没有全部显示:我的意思是如果一个列表有 5 个元素而另一个有 3 个元素,则每个列表中只会显示 3 个元素。 一段代码价值超过一百万字,所以:
LinkedList list1 = new LinkedList();
LinkedList list2 = new LinkedList();
LinkedList list3 = new LinkedList();
LinkedList list4 = new LinkedList();
list1.addFirst("A");
list1.addFirst("B");
list1.addFirst("C");
list1.addFirst("D");
list1.addFirst("E");
list1.addFirst("F");
list2.addFirst("G");
list2.addFirst("H");
list2.addFirst("I");
list2.addFirst("J");
list2.addFirst("K");
list2.addFirst("L");
list2.addFirst("M");
list3.addFirst("N");
list3.addFirst("O");
list3.addFirst("P");
list3.addFirst("Q");
list3.addFirst("R");
list3.addFirst("S");
list3.addFirst("T");
list3.addFirst("U");
list4.addFirst("V");
list4.addFirst("W");
list4.addFirst("X");
list4.addFirst("Y");
list4.addFirst("Z");
ListIterator it1 = list1.listIterator();
ListIterator it2 = list2.listIterator();
ListIterator it3 = list3.listIterator();
ListIterator it4 = list4.listIterator();
while (it1.hasNext() && it2.hasNext() && it3.hasNext() && it4.hasNext()){
System.out.println(it1.next()+"\t\t\t"+ it2.next()+"\t\t\t"+it3.next()+"\t\t\t"+it4.next());
}
输出是这样的:
我很困惑为什么这是输出,所以如果有人可以解释我做错了什么或者可以给我一个提示或示例,我将不胜感激。这不是作业,我只是一个人学习JAVA。提前谢谢你!
【问题讨论】:
-
你期望输出是什么?
-
与问题无关,但是:你为什么使用
ListIterator而不是Iterator? -
我希望第一个列表是 F E D C B A ,第二个是 M L K J I H G;就像我宣布的那样。
-
意识到列表将按照创建时的相反顺序输出,因为 addFirst() 总是添加到列表的前面,所以最后添加的元素将是 next() 返回的第一个元素。
-
是的,因为我想让它表现得像一个堆栈。 Java中的Stack是继承自Vector,所以不是真正的Stack...
标签: java linked-list listiterator