本帖最后由 张亭 于 2012-5-30 14:48 编辑
楼主,你第二个 for (ListIterator<String> it = list.listIterator(); it.hasPrevious();) {
System.out.println(it.previous());//为什么这个没有输出??
}
里面的it和上面for语句里的不是一个,你放在for语句里,它们都是局部变量,
相当于你重新定义了一个listIterator,它开始指的位置还是头的位置,hasPrevious()肯定为假喽,就没输出了
如果想达到你预想的要求,把迭代器定义在两个for外面即可,如下:
public static void show(ArrayList<String> list) {
list.add("xiaoqinag");
list.add("wangwu");
list.add("lisi");
list.add("zhangsan");
ListIterator<String> it = list.listIterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
for (; it.hasPrevious();) {
System.out.println(it.previous());
}
}
|