Java8 Steam API中groupingBy和flatMap方法的使用
1. groupingBy分组器
/*** 使用java8 stream groupingBy操作,按城市分组list*/
@Test
public void groupingByTest() {Map<String, List<Employee>> employeesByCity =employees.stream().collect(Collectors.groupingBy(Employee::getCity));System.out.println(employeesByCity);assertEquals(employeesByCity.get("London").size(), 2);
}
2. flatmap
stream api 的 flatMap方法接受一个lambda表达式函数, 函数的返回值必须也是一个stream类型,flatMap方法最终会把所有返回的stream合并。
public void test(){List<Map<String,Object>> list = new ArrayList<>();for(int i = 0; i < 10; i++){Map<String, Object> map = new HashMap();map.put("name", "张三"+i);map.put("age",new Random().nextInt(4));map.put("desc","sdfasdfa");lit.add(map);}System.out.println(list.stream().collect(Collectors.groupingBy(x->x.get("age"))).values().stream().flatMap(x->x.stream()).collect(Collectors.toList()));System.out.println(list);
}List<Klass> result3 = groupList.stream().flatMap(it -> it.getKlassList().stream()).collect(Collectors.toList());
Java8 Steam API中groupingBy和flatMap方法的使用相关推荐
- stream map方法_Java Stream中map和flatMap方法
最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...
- java flatmapfunction_Java Stream中map和flatMap方法
最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...
- 如何使用浏览器对网络请求编辑重发(Edit and Resent) 以及: fetch API 中 ReadablleStream 的打印方法
文章目录 需求 火狐浏览器-编辑重发(Edit and Resent) fetch API Links 需求 上网用F12分析一个请求,调用的事服务端的一个数据接口. 想修改请求参数(请求头.请求体, ...
- java peek函数_Java 8 Stream Api 中的 peek 操作
1. 前言 我在 Java 8 Stream API中的 map 和flatMap 中讲述了Java8 Stream API中 map 操作和 flatMap 操作的区别.然后有小伙伴告诉我 peek ...
- java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作
1.前言 Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合.今天我们来探讨两个 Stream 中间操作 map 和 flatMap 2. map 操作 map 操作是将流中 ...
- java flatmap_Java 8 Steam API map和flatMap方法使用详解
java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法的用法. map方法 我们来看个示例:把一个整数列 ...
- java steam说明_Java 8 Steam API map和flatMap方法使用详解
一对多的提取内容用flatmap,一对一用map java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法 ...
- Java 8 Steam API map和flatMap方法使用详解
java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法的用法. map方法 我们来看个示例:把一个整数列 ...
- Java8 新特性:Lambda 表达式、方法和构造器引用、Stream API、新时间与日期API、注解
Java8新特性:Lambda 表达式.方法和构造器引用.Stream API.新时间与日期API.注解 1.Java8新特性 1.1.主要的新特性: 1.2.编程风格 2.Lambda 表达式 2. ...
最新文章
- Windows下MongoDB安装及创建用户名和密码
- imp 只导入索引_使用imp导入表和索引至不同表空间方法
- 浅析C++利器之——引用
- Linux系统(Centos)下安装nodejs并配置环境
- 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
- Django打造大型企业官网-项目实战(二)
- AudioSource中的PlayClipAtPoint()和PlayOneShot()
- 关于如何用python下载文件
- HTML单选框-多选框-按钮
- 【史上最全】设计师必备的83个设计资源网站
- 如何设计一个简单的网站首页
- ca42a_demo_c++_new_delete表达式
- 剑指offer | 面试题10:斐波那切数列
- google 云开启 ssh 账号密码登录
- 讯飞语音识别之语音转文字------java
- 新版一键式转化成在线生成告白网站PHP源码
- iOS14-桌面小插件 StaticConfiguration
- 你为什么应该为软件付费?
- 一步步点亮LED3_从零开始手写汇编点亮LED
- uni-app真机上传图片提示打包未添加Camera模块