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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ListIterator迭代器遍历时是可以对集合中的元素进行增删还是对该迭代器中的元素?

7 个回复

倒序浏览
zhangjingxian 来自手机 中级黑马 2016-9-12 07:13:20
沙发
不能对集合中的元素,对迭代器中的元素
回复 使用道具 举报
迭代器相当于是一个工具,好比抓娃娃的那个铁手,你可以通过这个铁手去抓娃娃,同理你可以通过这个工具对集合中的元素增删,工具是没有东西在里面的,增删当然也是对集合啦

点评

你这么说我就懂了 三克油  发表于 2018-4-23 09:54
回复 使用道具 举报 1 0
ListIterator里本身没有元素,元素是集合中的,ListIterator其实就是ArrayList的一个私有内部类,可以直接操作集合,它的next( )方法有一个指针检测,如果在用ListIterator迭代时使用集合中的增删方法,ListIterator中的next( )方法会检测到集合长度变化,然后抛出ConcurrentModificationException异常
回复 使用道具 举报
迭代器中是没有元素的,迭代的是集合中的元素,因此删减的也是集合中的元素。
可以将迭代器看做是一个光标,这个光标始终在集合中的next元素和previous元素之间移动
回复 使用道具 举报
删的是集合中的元素
回复 使用道具 举报
对集合的元素进行增删,迭代器只是一种工具
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马