API: https://www.runoob.com/java/java8-streams.html


模板:

mylist.stream().map(myfunction->{return item;}).collect(Collectors.toList());

说明:
steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。

forEach():迭代流中的每个数据。以下代码片段使用 forEach 输出了10个随机数.

Random random = new Random();
random.ints().limit(10).forEach(System.out::println);

map():用于映射每个元素到对应的结果。以下代码片段使用 map 输出了元素对应的平方数:

List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
// 获取对应的平方数
List<Integer> squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());

filter():filter 方法用于通过设置的条件过滤出元素。以下代码片段使用 filter 方法过滤出空字符串:

List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
// 获取空字符串的数量
int count = strings.stream().filter(string -> string.isEmpty()).count();
limit
limit 方法用于获取指定数量的流。 以下代码片段使用 limit 方法打印出 10 条数据:Random random = new Random();
random.ints().limit(10).forEach(System.out::println);

sorted():用于对流进行排序。以下代码片段使用 sorted 方法对输出的 10 个随机数进行排序:

Random random = new Random();
random.ints().limit(10).sorted().forEach(System.out::println);
并行(parallel)程序
parallelStream 是流并行处理程序的代替方法。以下实例我们使用 parallelStream 来输出空字符串的数量:List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
// 获取空字符串的数量
int count = strings.parallelStream().filter(string -> string.isEmpty()).count();
我们可以很容易的在顺序运行和并行直接切换。

Collectors():类实现了很多归约操作,例如将流转换成集合和聚合元素。Collectors 可用于返回列表或字符串:

List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());System.out.println("筛选列表: " + filtered);
String mergedString = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));
System.out.println("合并字符串: " + mergedString);

通俗易懂,java8 .stream().map().collect()用法相关推荐

  1. java8 stream().map().collect()用法

    java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...

  2. Stream的特性、用法、stream().map().collect()用法

    Stream的特性.用法.stream().map().collect()用法 1.举例说明 有一个集合: List<User> users = getList(); 现在想获取User的 ...

  3. java8 .stream().map().collect() 的用法

    API: https://www.runoob.com/java/java8-streams.html mylist.stream().map(myfunction->{return item; ...

  4. java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的

    一.Collectors.toList() 现在有个集合: List<User> users = getUserList(); 现在需要将这些user的id提取出来.这个很简单,for循环 ...

  5. stream().map().collect()用法

    有一个集合: List users = getList(); //从数据库查询的用户集合 现在想获取User的身份证号码:在后续的逻辑处理中要用: 常用的方法我们大家都知道,用for循环, List ...

  6. Java8 stream().map()将对象转换为其他对象

    Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String ...

  7. JAVA Stream的collect用法与原理(详解)

    初识Collector 先看一个简单的场景: 现有集团内所有人员列表,需要从中筛选出上海子公司的全部人员 假定人员信息数据如下: 姓名 子公司 部门 年龄 工资 大壮 上海公司 研发一部 28 300 ...

  8. java8 stream reduce 方法用法 java stream reduce 方法使用方法

    java8 stream reduce 方法用法 java stream reduce 方法使用方法 一.背景 在使用Stream的reduce方法时,发现该方法有 3个重载方法,分别是: 一个参数. ...

  9. strm().filter().collect()和stream().map().collect()的作用

    在看代码的时候看到了相关方法,自己在写了个例子练习一下 public class People {private Integer id;private String name;private Bool ...

最新文章

  1. 今天看到一个关于营销学和广告创意研究的文章
  2. 百度地图 osm地图 leaflet echarts webapck的组合使用时的踩坑记录
  3. java阅读doc文件格式_java – 正确区分.xls和.doc文件的方法?
  4. Linux下搭建jenkins+svn+http+maven自动化部署
  5. 当一个有性能问题的数据库摆在你的面前,作为责任人,你的处理思路是什么?...
  6. SpringMVC的请求-文件上传-单文件上传的代码实现2
  7. 力压Java、C语言!Python 获2018年度编程语言
  8. 英伟达有魔力,Uber小心翼翼 | 跟着开复去硅谷Day1
  9. 易语言怎么判断文件是否一样_怎么判断自己是否怀孕?
  10. 熵、条件熵、互信息等概念
  11. 张俊芳电机学17章计算题以及答案
  12. Java、python、数据分析精美简历模板
  13. 怎样提高报表呈现的性能
  14. 分享几个免费的人工智能类API接口
  15. iOS开发 - 给Label加下划线、中划线
  16. 蛋白和肽测序仪销量、收入、价格、毛利率及市场份额
  17. 329 矩阵中的最长递增路径
  18. mysql安装快完了报错creating mysql router configuration显示不通过,图文教程
  19. Linux命令入门教程(三):文件基础篇
  20. 惠普HP Deskjet 3054 - J610a 一体机驱动

热门文章

  1. MFC六大核心机制之二:运行时类型识别(RTTI)
  2. Java类加载器(二)——自定义类加载器
  3. 使用 Go 实现生产者和消费者,Kafka 正式升级到 3.0!
  4. Go 语言能取代 Java,成为下一个 10 年的王者吗?
  5. 力扣--- 滑动谜题
  6. Django环境搭建
  7. Ukiyo-e faces dataset 浮世绘面孔数据集
  8. 我们还有一些话想和你说
  9. 别光看世界杯 7月还有一场音视频技术盛宴等着你
  10. 语音视频社交背后技术深度解析