3-10 删除宠物猫信息

3-10 删除宠物猫信息

// 删除花花的信息
for(Cat cat:set) {
    if ("花花".equals(cat.getName())){
	set.remove(cat);
	break;
    }
}
此时的break跳出的时for循环吗?
如果把break放在if语句外面,是不是一样的效果?
// 删除花花的信息
for(Cat cat:set) {
    if ("花花".equals(cat.getName())){
	set.remove(cat);
    }
    break;
}
PS: break是只能跳出当前循环,还是跳出当前结构(此处为if条件结构)?


正在回答

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

1回答

问题1:针对这个题目而言,把break放到if结构外面也是可以的,因为只有在名字等于花花时,才执行remove操作,也就是说只执行一次;

问题:break的主要作用是停止对set集合的操作;集合为了保证其一致性,对读取和删除操作设置了约束;如果删除不是最后一个元素,还继续删除的话,程序就会抛出异常,所以在操作完set集合后必须break。

祝学习愉快~

  • 骆盈 提问者 #1
    非常感谢!
    2017-09-01 22:33:54
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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