这里如果不使用增强型fou循环,应该怎么写?

这里如果不使用增强型fou循环,应该怎么写?

正在回答 回答被采纳积分+1

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

1回答
好帮手慕小小 2022-05-05 15:35:41

同学你好,set集合是无序集合,没有索引,也没有带索引的方法,故不能使用普通的for循环遍历。但可以通过迭代器遍历获取。参考代码如下:

Iterator<Cat> iterator = set.iterator();
while (iterator.hasNext()) {
	Cat cat = it.next();
	System.out.println(cat);
}

祝学习愉快~

  • 提问者 ZZ6459418 #1

    set中怎么进行对元素的更改?

    比如这里想我把c4的花花二代改为三代https://img1.sycdn.imooc.com//climg/62737ec6092850e209080127.jpg

    2022-05-05 15:38:23
  • 好帮手慕小小 回复 提问者 ZZ6459418 #2

    同学你好,参考如下思路试下:

    先获取到对象,set集合获取对象可以使用增强for循环和迭代器实现,取出对象后再根据条件对需要修改的数据进行修改。

    // 定义宠物猫对象
    Cat c3 = new Cat("凡凡", 3, "中华田园猫");
    Cat c4 = new Cat("花花二代", 12, "英国短毛猫");
    // 将宠物猫对象放入HashSet中
    Set<Cat> catSet = new HashSet<Cat>();
    catSet.add(c3);
    catSet.add(c4);
    
    Iterator<Cat> iterator = catSet.iterator();
    while (iterator.hasNext()) {
    	Cat cat = iterator.next();
    	System.out.println(cat);
    	if ("花花二代".equals(cat.getName())) {
    		cat.setName("花花三代");
    	}
    }
    for (Cat cat : catSet) {
    	System.out.println(cat);
    }
    System.out.println("==============================\n");

    祝学习愉快~


    2022-05-05 15:57:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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