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方法的使用相关推荐

  1. stream map方法_Java Stream中map和flatMap方法

    最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...

  2. java flatmapfunction_Java Stream中map和flatMap方法

    最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...

  3. 如何使用浏览器对网络请求编辑重发(Edit and Resent) 以及: fetch API 中 ReadablleStream 的打印方法

    文章目录 需求 火狐浏览器-编辑重发(Edit and Resent) fetch API Links 需求 上网用F12分析一个请求,调用的事服务端的一个数据接口. 想修改请求参数(请求头.请求体, ...

  4. java peek函数_Java 8 Stream Api 中的 peek 操作

    1. 前言 我在 Java 8 Stream API中的 map 和flatMap 中讲述了Java8 Stream API中 map 操作和 flatMap 操作的区别.然后有小伙伴告诉我 peek ...

  5. java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作

    1.前言 Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合.今天我们来探讨两个 Stream 中间操作 map 和 flatMap 2. map 操作 map 操作是将流中 ...

  6. java flatmap_Java 8 Steam API map和flatMap方法使用详解

    java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法的用法. map方法 我们来看个示例:把一个整数列 ...

  7. java steam说明_Java 8 Steam API map和flatMap方法使用详解

    一对多的提取内容用flatmap,一对一用map java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法 ...

  8. Java 8 Steam API map和flatMap方法使用详解

    java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法的用法. map方法 我们来看个示例:把一个整数列 ...

  9. Java8 新特性:Lambda 表达式、方法和构造器引用、Stream API、新时间与日期API、注解

    Java8新特性:Lambda 表达式.方法和构造器引用.Stream API.新时间与日期API.注解 1.Java8新特性 1.1.主要的新特性: 1.2.编程风格 2.Lambda 表达式 2. ...

最新文章

  1. Windows下MongoDB安装及创建用户名和密码
  2. imp 只导入索引_使用imp导入表和索引至不同表空间方法
  3. 浅析C++利器之——引用
  4. Linux系统(Centos)下安装nodejs并配置环境
  5. 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
  6. Django打造大型企业官网-项目实战(二)
  7. AudioSource中的PlayClipAtPoint()和PlayOneShot()
  8. 关于如何用python下载文件
  9. HTML单选框-多选框-按钮
  10. 【史上最全】设计师必备的83个设计资源网站
  11. 如何设计一个简单的网站首页
  12. ca42a_demo_c++_new_delete表达式
  13. 剑指offer | 面试题10:斐波那切数列
  14. google 云开启 ssh 账号密码登录
  15. 讯飞语音识别之语音转文字------java
  16. 新版一键式转化成在线生成告白网站PHP源码
  17. iOS14-桌面小插件 StaticConfiguration
  18. 你为什么应该为软件付费?
  19. 一步步点亮LED3_从零开始手写汇编点亮LED
  20. uni-app真机上传图片提示打包未添加Camera模块

热门文章

  1. [这并不是教程]从文件名还原丢失的exif时间
  2. 泰勒公式和等价无穷小
  3. PMBOK(项目管理知识体系)
  4. java 微信分享朋友圈 链接显示图片_java微信公众平台分享朋友圈
  5. 导通延迟、截止延迟、平均延迟
  6. 2006年大学生就业“力”调查:洋学历和土学历哪个更吃香
  7. Methodology - 2.1 Structure
  8. 认识LoRa以及LoRaWAN
  9. 巧思3 - 囚徒自救
  10. 单片机2个按键互锁c语言程序,单片机按键点动互锁程序 proteus仿真及源程序