黑马程序员技术交流社区
标题:
迭代器
[打印本页]
作者:
liuwuzhou
时间:
2015-8-25 07:28
标题:
迭代器
迭代器它不是个容器,它是获取集合里元素的一种方式,依赖于集合存在,先前我总是跳不出这个坑, 总认为是个容器, 现在慢慢理解了, 它是一方式,是一个抽象的接口, 必须要他的子类实现对象才能调用, 例如:col是个集合,那么
Iterator it = col.iterator();
作者:
liuwuzhou
时间:
2015-8-25 07:29
各位同学,欢迎批评指正, 你进步,我也进步, 成为朋友
作者:
liuwuzhou
时间:
2015-8-25 07:44
java.util.ConcurrentModificationException: 并发修改异常
出现这个异常的原因:
迭代器依赖集合存在, 获取迭代器对象(it)后, 遍历集合的时候, 使用集合添加元素(或者删除修改等), 这时候,迭代器这个对象不知道集合已经发生改变, 还按照原来的集合进行遍历, 必然发生错误, 所以, 迭代器遍历集合的时候, 不能使用集合修改元素, 可以用迭代器修改元素. 而Iterator这个接口没有提供方法,它只提供了三个方法(hasNext, next, remove), 所以就用他的子接口ListIterator, 因为它有好多种方法,包括增删改查等等. 总之, 集合在遍历的时候只能用集合修改元素, 迭代器在遍历集合的时候, 不可以用集合遍历元素, 可以用迭代器遍历
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2