java8流的使用

java 8 使用stream 之后 对于集合等数据的处理
对于一个List<Map<String, Object>>类型的数据,可以使用Java 8的新特性stream流来进行遍历、过滤、查询、去重、排序、分组等操作。


//查数据
List<Map<String, Object>> extCardInfoList= xxxMapper.selectInfo(pars);
//查询出map中key名为id的值并提取出来
List<String> ids= extCardInfoList.stream()
.map(m -> m.get("id").toString())
.collect(Collectors.toList());

2.根据某个key求对应value和**

**
int totalNums= extCardInfoList.stream()
.collect(Collectors.summingDouble( e -> Double.parseDouble(e.get("sumBalance").toString().replace(",",""))));

3.对数据进行过滤

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
//使用stream流进行过滤
dataList.stream().filter(map -> (Integer) map.get("age") > 25).forEach(map -> {
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name"));
});
List<Map<String, Object>> extCardInfoList= xxxMapper.selectInfo(pars);
//遍历循环其中的某一个值并重新赋值
extCardInfoList .stream().forEach(item -> item.put("sumBalance",Double.parseDouble(item.get("sumBalance").toString())*0.01));

对象的处理

//待处理数据
List<McProduct> mcProductList = mcProductService.list();
//提取一个新的对象数据并修改其中的一个值,提取一个新的list
List<McProduct> mcProducts = mcProductList.stream()
                            .map(product -> {
                            product.setCategoryId(mcCategory.getCategoryId());
                            return product;
                            }).collect(Collectors.toList());
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值