同样是在遍历哈希Set的同时删除元素,为什么删除“花花二代”不报错,删除“花花”就报错啊

同样是在遍历哈希Set的同时删除元素,为什么删除“花花二代”不报错,删除“花花”就报错啊

同样是在遍历哈希Set的同时删除元素,为什么删除“花花二代”不报错,删除“花花”就报错啊?

而且我之前自己写的时候用jdk1.6删除“花花二代”也报错但老师没报错,我还在奇怪,自己试了试,换成jdk1.8就不报错了,但删除“花花”却仍然报错,这怎么回事呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

因为这里的"花花二代"是最后一个元素,删完了没有继续遍历了,所以你删了"花花二代"不报错.

好帮手慕查理 2018-10-11 18:03:56

您好,删除“花花”仍然报错的情况,课程中老师在十一分钟之后进行了讲解哦~祝学习愉快!

  • 提问者 大雪碧 #1
    我知道删除“花花”为什么报错,只是不明白为什么删除“花花二代”没有报错
    2018-10-12 10:14:31
  • 好帮手慕珊 回复 提问者 大雪碧 #2
    你好!在循环中删除集合元素是这样的,如果 你删除的元素刚好是集合中的最后一个元素,删除以后不会再遍历集合了,这时候就不会报错。如果删除的是中间某个元素,但删除完调用了break跳出循环,后面不会再继续遍历了,这样也不会报错。所以,建议你把代码贴出来,我们结合你的代码看一下原因。祝学习愉快!
    2018-10-12 10:46:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师