Set的循环遍历

 if(null != cacList && cacList.size()>0){  去掉list集合里面的重复对象(某个字段重复)
            Set set = new HashSet();
            Map rtnMap = new HashMap();
            CpmActchain cafm = new CpmActchain();
            for(int j = 0 ; j <cacList.size();j++){
              cafm = (CpmActchain) cacList.get(j);
              set.add(cafm.getStatus().toString()); //去掉重复
              rtnMap.put(cafm.getStatus().toString(), cafm.getStatustxt());
            }
            Object[] obj = set.toArray();  //转换为数组
               for(int j = 0 ; j <obj.length;j++){ //开始遍历数组
                String status = (String) obj[j];
             int size = 0;
             CpmActchain cafm2 = new CpmActchain();
             for(int k = 0 ; k <cacList.size();k++){
              cafm2 = (CpmActchain) cacList.get(k);
                 if(status.equals(cafm2.getStatus().toString())){
                  size++;
                 }
                   }
             maps.put(rtnMap.get(status)+new Integer(j).toString(), new Integer(size));
             rtnStr =rtnStr+rtnMap.get(status)+"("+status+"):"+new Integer(size)+",";
               }
      }

### 如何在编程中遍历Set集合 #### 使用增强型for循环遍历Set集合 增强型`for`循环提供了一种简洁的方式来遍历实现`Iterable`接口的对象,包括`Set`。这种方式适用于不需要知道元素索引或位置的情况。 ```java // 声明一个HashSet实例并添加几个字符串元素 Set<String> set = new HashSet<>(); set.add("Apple"); set.add("Banana"); set.add("Orange"); // 使用增强型for循环遍历Set集合 for (String fruit : set) { System.out.println(fruit); } ``` 此代码片段展示了如何利用增强型`for`语句来访问`Set`中的每一个成员[^1]。 #### 利用迭代器模式遍历Set集合 当需要更灵活地控制遍历时,则可以采用显式的`Iterator`对象来进行操作: ```java import java.util.Iterator; ... Set<Integer> numbers = Set.of(1, 2, 3); Iterator<Integer> it = numbers.iterator(); while(it.hasNext()){ Integer num = it.next(); System.out.print(num + " "); } ``` 这段程序说明了通过创建`Iterator`实例从而逐个读取容器内的条目[^4]。 #### Stream API与Lambda表达式相结合的方式 自Java8起引入的流(Stream)API允许开发者以声明性的风格处理数据序列化问题;配合lambda表达式可写出非常优雅高效的集合遍历逻辑: ```java Set<Double> decimals = Set.of(Math.PI, Math.E, Double.NaN()); decimals.stream().forEach(System.out::println); // 或者使用filter,map等中间操作符构建复杂管道... ``` 上述例子体现了借助于现代Java特性能让集合类的操作变得多么直观简便[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值