【发布时间】:2013-09-30 11:05:02
【问题描述】:
我希望能够使用ListIterator 向ArrayList<String> 插入元素,但是即使在阅读了与ListIterator 类的add 方法相关的文档后,如果我这样做,我还是会感到困惑
for(int i = 0 ; i < list.size() ; ++i)
listIterator.add( list.get(i) );
这段代码 sn-p 对我的列表迭代器做了什么,它将列表迭代器移动到哪里?
当我运行以下代码时,我得到的结果是“Hi”-:
import java.util.ArrayList;
import java.util.ListIterator;
public class ListIter {
public static void main(String[] args) {
String[] s = {"Hi", "I", "am", "Ankit"};
ArrayList<String> list = new ArrayList<>();
ListIterator<String> listIterator = list.listIterator();
for (int i = 0; i < s.length; ++i) {
listIterator.add(s[i]);
}
while (listIterator.hasPrevious()) {
listIterator.previous();
}
System.out.println(listIterator.next());
}
}
请问这个输出是怎么产生的?
【问题讨论】:
-
您没有正确使用迭代器,如果您不调用
next(),它将添加到放置迭代器的位置...在第一个元素中 -
如何使用它将元素插入到列表中?
-
你有没有机会阅读API....
-
while(listIterator.hasNext()){ listIterator.next()... listIterator.add(..); -
@nachokk :我应该这样做 for(int i = 0 ; i
标签: java collections iterator