set集合怎么看是否正在读取数据,不明白为什么第二个有异常

set集合怎么看是否正在读取数据,不明白为什么第二个有异常

        for(Cat cat:set){

          if("花花二代".equals(cat.getName()))

             set.remove(cat);

        }


---------------------------------------------------

        for(Cat cat:set){

          if("花花".equals(cat.getName()))

             set.remove(cat);

        }


正在回答

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

1回答

没办法看,只要循环遍历就是在读取数据。

引起异常的原因是在遍历的时候删除了数据,集合不允许遍历的时候进行删除。如果刚好删除的是集合的最后一个数据,不会有问题。如果删除的是中间的数据,而还要继续遍历的话,就会出问题。集合不允许这样操作。

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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