java8 Stream流 flatmap方法使用

lambda 表达式中。flatmap 的使用

直接上代码:

 

        final List<List<Map>> lists = new ArrayList<>();
        final List<Map> objects = new ArrayList<>();
        final List<Map> objects2 = new ArrayList<>();

        HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
        objectObjectHashMap.put("a","a");
        objectObjectHashMap.put("c","c");
        objects.add(objectObjectHashMap);

        objectObjectHashMap = new HashMap<>();
        objectObjectHashMap.put("b","b");
        objects2.add(objectObjectHashMap);

        lists.add(objects);
        lists.add(objects2);




        lists.stream().flatMap(Collection::stream)
                .forEach(map -> {
                    map.forEach((k,v)->{
                        System.out.println("k:"+k+"\tvalue:"+v);
                    });

                });

输出结果如下:


k:a	value:a
k:c	value:c
k:b	value:b

由此知道 flatmap 是将集合进行更深层次的操作。

看过源码的同学能知道 flatMap 方法返回的是一个流数据。这样就好理解为什么 flatMap 能实现更深层次的遍历。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值