public static void main(String[] args) {
ArrayList<String> s=new ArrayList<String>();
s.add("haha");
s.add("hehe");
s.add("heihei");
ListIterator<String> it = s.listIterator();//因为定义迭代器的时候,迭代器就已经获取了集合的长度,迭代器按指定顺序取元素,你再往里面添加,迭代器可能已经取到后面去了,他不可能跑回来再取元素,这是不合理的.
while (it.hasNext()) {
String m = it.next();
if ("hehe".equals(m)) {
it.add("nihao");
}
System.out.println(m);//为什么前面添加的"nihao",在当前遍历中没有打印出来?
}
//重新打印集合,数据就已经存在了。
System.out.println(s);
} |