关于Iterator使用时应该注意的一个小问题
今天在用java编程时遇到一个小问题,记下来备忘:
Iterator迭代器是遍历List等容器时经常用到的,在使用时一定要注意,如果为Iterator对象进行了初始化或者赋值,那么一旦与Iterator对象关联的容器对象发生变化,则原来的Iterator对象失效,需要重新赋值。
下面举例说明:
?
ArrayList<Integer> list=new ArrayList<Integer>();Iterator<Integer> iterator;//这里没有为Iterator对象赋值while(distance>0){list.add(distance);distance=(distance-1)/3;}iterator=list.iterator();//这里为Iterator对象赋值while(iterator.hasNext()){......}?