1.Stream流的map和reduce组合使用

假设当前存在Person类,下述两个Person类的需求都是借助Stream流的map()和reduce()方法

import lombok.AllArgsConstructor;
import lombok.Data;@Data
@AllArgsConstructor
public class Person {private String name;private int age;
}

第一个需求:当前需要求出所有年龄的总和

import java.util.stream.Stream;public class Demo {public static void main(String[] args) {//求出所有年龄的总和Integer totalAge = Stream.of(new Person("刘德华",58),new Person("张学友",56),new Person("郭富城",54),new Person("黎明",52)).map(p -> p.getAge()).reduce(0,(x,y)->{return x+y;});System.out.println(totalAge);}
}

上述关于求和部分的代码还可以采用方法引用的方式

JDK8新特性(十)之Stream流的map和reduce组合使用、mapToInt()、concat()方法相关推荐

  1. JDK8新特性(八)之Stream流的map()、sorted()、distinct()、match()方法

    1.Stream流的map()方法 如果需要将流中的元素映射到另一个流中,可以使用map方法.方法声明: <R> Stream<R> map(Function<? sup ...

  2. JDK8新特性(七)之Stream流的count()、filter()、limit()、skip()方法

    1.Stream流的count()方法 Stream流提供count方法来统计其中的元素格式: long count() 该方法返回一个long值代表元素个数,基本使用: import java.ut ...

  3. JDK8新特性(九)之Stream流的find()、max()、min()、reduce()方法

    1.Stream流的find()方法 如果需要找到某些数据,可以使用find相关方法.方法声明: Optional<T> findFirst(); Optional<T> fi ...

  4. JDK8新特性(六)之Stream流的forEach()方法

    Stream流模型的操作很丰富,这里介绍一些常用的API.这些方法可以被分成两种: 终结方法:返回值类型不再是Stream类型的方法,不再支持链式调用,上述列出的列表中终结方法包括count和forE ...

  5. JDK8新特性(五)之Stream流介绍和获取方式

    1.Stream流介绍 当我们需要对集合中的元素进行操作的时候,除了必需的添加.删除.获取外,最典型的就是集合遍历.我们来体验集合操作数据的弊端,需求如下: 一个ArrayList集合中存储有以下数据 ...

  6. JDK8新特性(十二)之并行的Stream流

    1.并行Stream流介绍 一般使用的Stream流是串行的,就是在一个线程上执行,效率并不是很高,因此JDK8也推出了一个新的概念,即并行的Stream流(parallelStream).paral ...

  7. java 8 stream_深度分析:java8的新特性lambda和stream流,看完你学会了吗?

    1. lambda表达式 1.1 什么是lambda 以java为例,可以对一个java变量赋一个值,比如int a = 1,而对于一个方法,一块代码也是赋予给一个变量的,对于这块代码,或者说被赋给变 ...

  8. Java8新特性:使用Stream流递归实现遍历树形结构

    作者:Lcry blog.csdn.net/qq_19244927/article/details/106481777 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示 ...

  9. JDK8新特性(十四)之日期时间API

    旧版日期时间API存在的问题: 1. 设计很差: 在java.util和java.sql的包中都有日期类,java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期.此外用 ...

最新文章

  1. XSL 扩展样式表语言(EXtensible Stylesheet Language)
  2. linux aptana,Ubuntu 下Aptana Studio 3安装使用
  3. 谈谈WPF中的CollectionView与CollectionViewSource
  4. 【设计模式】java设计模式之 -- 策略模式
  5. Jenkins常见问题解决(持续更新)
  6. Openstack组件部署 — Networking service_Compute Node
  7. 归并排序模板(附求逆序对)
  8. 信息学奥赛一本通(1151:素数个数)
  9. UIProgressView的详细使用
  10. saltstack 模型与认证通信原理
  11. 用java写图形验证码,超级简单
  12. PR转场预设 鼠标拖拽视频画面滑动转场特效PR预设
  13. C#爬取数据_详细篇
  14. Amigo 源码解读
  15. 加密聊天应用依然安全
  16. android从入门到精通-项目实战(心得及源码)
  17. (转)李开复的美东AI见闻
  18. 基于matlab支持向量机SVM多分类手写体数字识别
  19. 大数据技术,Spark核心技术之运行原理
  20. BetaFlight模块设计之十二:电传任务分析

热门文章

  1. git can‘t merge 的处理 代码冲突问题的解决
  2. Android SDK Manager无法显示可供下载的未安装SDK解决方案
  3. Non-parseable POM C:\Users\admin\.m2\repository\org\springframework问题解决方案
  4. 【报告分享】bilibili2020年营销通案:激活年轻营销力.pdf(附下载链接)
  5. 外贸建站前必做的SEO优化?
  6. php无需鉴权的接口,thinkphp5-restfulapi 博客 接口鉴权应用
  7. BZOJ1044: [HAOI2008]木棍分割(dp 单调队列)
  8. 全连接层的作用_全连接层实现
  9. 计算机中丢失ENWeb,webapi session 丢失
  10. 防震计算机主机,一种防震计算机主机的制作方法