java stream lambda检查集合是否存在某个值,并过滤,替换,收集

本文介绍了Java中对集合进行操作的方法,包括使用Stream API判断集合中是否存在特定值,过滤出符合条件的元素,替换指定元素值,以及收集特定元素形成新的字符串和按条件转换集合为Map。示例代码详细展示了这些操作的实现步骤。
摘要由CSDN通过智能技术生成

1.判断是否存在某个值 

  //判断集合list中username是否存在张三这个值,存在返回true
        boolean bool = list.stream().anyMatch(a->a.getUserName().equals("张三"));

2.过滤list中某个实体类的某个元素值

  //过滤集合list中含有username为张三的值,结果集为过滤后的集合(全是包含张三的对象)
        List<Userinfo> data = list.stream().filter(a->a.getUserName().equals("张三"))
                            .collect(Collectors.toList());
         if(data!=null&&data.size()>0){
             for (Userinfo userinfo:data) {
                 System.out.println(userinfo.getUserName()+"------------"+userinfo.getPassword());
             }
         }

3.替换list中某个实体类的某个元素值


Bean bean1 = new Bean(1, 2);
        Bean bean2 = new Bean(3, 4);
        List<Bean> list = Lists.newArrayList(bean1, bean2);
        System.out.println("list1 : " + list);
        list.stream().filter(bean -> {
            if (1 == bean.getNum1())
                bean.setNum1(2);
            return true;
        }).collect(Collectors.toList());
        System.out.println("list2 : " + list);

4.收集集合中某个元素的值并逗号分割成字符串

String  productIds=crmProductList.stream().map(p->p.getId()).collect(Collectors.joining(","));

5.list转map 

//按照技能组把list转成map
Map<String, List<DefWorksheet>> mapList = listClaimOverDateWorksheet.stream().collect(Collectors.groupingBy(DefWorksheet::getProcessQueue));

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值