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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫斯科的眼泪 中级黑马   /  2013-12-10 22:10  /  1745 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于keyset方法有疑惑?图片上标着呢!请各位大神指点一二!

8.png (70.25 KB, 下载次数: 87)

8.png

3 个回复

倒序浏览
帅哥 看不清啊 直接贴代码吧   不过看着像是get方法是可以的 因为这个方法只是看看集合里边的元素,不会对集合元素造成更改,如果你试试remove,方法忘了,反正只要是对集合的赠删是不允许的,因为对现在正在迭代的集合造成了更改,让迭代器郁闷了,比如迭代器得到的元素是3个 你赠删之后成了4个,迭代器就郁闷了,死活找不到多出的那个元素(开玩笑的啊,差不多这个道理)
回复 使用道具 举报
贴代码吧,这看不清啊
回复 使用道具 举报

迭代器是函数获得的,获得后就一直没改变,好比是一张座次表。如果你中途改变了集合中的元素,又继续用这个迭代器。就会出错。好比你中途改变了座次,然后继续按照以前的座次表做事,那么就会出错了。如果是只读操作就不会出错了,因为迭代器没改变。

总结:增删操作改变了集合的迭代器,与一开始就获取到的迭代器不一致了,所以迭代发生错误。读取操作不影响。。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马