A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liuwuzhou 中级黑马   /  2015-8-25 07:28  /  570 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

迭代器它不是个容器,它是获取集合里元素的一种方式,依赖于集合存在,先前我总是跳不出这个坑, 总认为是个容器, 现在慢慢理解了, 它是一方式,是一个抽象的接口, 必须要他的子类实现对象才能调用, 例如:col是个集合,那么
Iterator it = col.iterator();

2 个回复

倒序浏览
各位同学,欢迎批评指正, 你进步,我也进步, 成为朋友
回复 使用道具 举报
java.util.ConcurrentModificationException: 并发修改异常
出现这个异常的原因:
      迭代器依赖集合存在, 获取迭代器对象(it)后, 遍历集合的时候, 使用集合添加元素(或者删除修改等), 这时候,迭代器这个对象不知道集合已经发生改变, 还按照原来的集合进行遍历, 必然发生错误, 所以, 迭代器遍历集合的时候, 不能使用集合修改元素, 可以用迭代器修改元素. 而Iterator这个接口没有提供方法,它只提供了三个方法(hasNext, next, remove), 所以就用他的子接口ListIterator, 因为它有好多种方法,包括增删改查等等.  总之, 集合在遍历的时候只能用集合修改元素, 迭代器在遍历集合的时候, 不可以用集合遍历元素, 可以用迭代器遍历
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马