什么是reduce操作
  聚合操作,中⽂意思是 “减少”
  根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值
  常⽤⽅法⼀:

    Optional<T> reduce(BinaryOperator<T> accumulator);
    accumulator 计算的累加器
    例⼦: 第⼀个元素相加和第⼆个元素相加,结果再和第三个元素相加,直到全部相加完成
    int value = Stream.of(1, 2, 3, 4, 5).reduce((item1, item2) -> item1+ item2).get();
 
  常⽤⽅法⼆:
    T reduce(T identity, BinaryOperator<T> accumulator);
    identity ⽤户提供⼀个循环计算的初始值
    accumulator 计算的累加器

    例⼦: 100作为初始值,然后和第⼀个元素相加,结果在和第⼆个元素相加,直到全部相加完成
    int value = Stream.of(1, 2, 3, 4,5).reduce(100, (sum, item) -> sum +item);
   

  练习 : 求最⼤值

  int value = Stream.of(1645, 234345, 32,44434,564534,435,34343542,212)
          .reduce( (item1, item2) -> item1 > item2 ? item1 : item2 ).get();

jdk8-》reduce操作的更多相关文章

  1. jdk8 流操作

    二.流 2.1 流介绍 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现).就现在来说,你可以把它们看成遍历数据集的高级迭代器.此外,流还可以 ...

  2. C#数组的Map、Filter、Reduce操作

    在Javascript.Python等语言里,Map.Filter和Reduce是数组的常用方法,可以让你在实现一些数组操作时告别循环,具有很高的实用价值.它们三个的意义大家应该都清楚,有一个十分形象 ...

  3. 大数据入门到精通8-spark RDD 复合key 和复合value 的map reduce操作

    一.做基础数据准备 这次使用fights得数据. scala> val flights= sc.textFile("/user/hdfs/data/Flights/flights.cs ...

  4. 深入理解groupByKey、reduceByKey区别——本质就是一个local machine的reduce操作

    下面来看看groupByKey和reduceByKey的区别: val conf = new SparkConf().setAppName("GroupAndReduce").se ...

  5. JDK8 Optional操作学习

    介绍 Optional是JDK8中提供用于包含未知对象的工具类,即可以利用Optional包装对象来避免繁琐的空指针检查,以及NullPointException的处理,在Optional中,用val ...

  6. 好记性-烂笔头:JDK8流操作

    1):对象 List<User> 转 Map<String,Object> 案例如下: public class User { private Integer id; priv ...

  7. JDK8 Stream操作整理

    1,forEach this.quoteItemList.forEach(p -> p.setMode(mode)); 2,获取对话属性,去重后生成集合 List<String> p ...

  8. 【Java】【6】JDK8 Stream操作整理

    摘要: 1,List<EntityOld>转换为List<EntityNew> List<EntityOld> list = oldList; List<En ...

  9. Java8 如何进行stream reduce,collection操作

    Java8 如何进行stream reduce,collection操作 2014-07-16 16:42 佚名 oschina 字号:T | T 在java8 JDK包含许多聚合操作(如平均值,总和 ...

  10. Java8中聚合操作collect、reduce方法详解

    Stream的基本概念 Stream和集合的区别: Stream不会自己存储元素.元素储存在底层集合或者根据需要产生.Stream操作符不会改变源对象.相反,它会返回一个持有结果的新的Stream.3 ...

随机推荐

  1. RedisDeskTopManager连接时提示:can't nonnect to redis-server

    场景 在使用RedisDeskTopManager客户端可视化工具连接Redis服务端时提示: 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众 ...

  2. HTML与CSS学习

    HTML和CSS都是对页面前端的设计语言,两者是页面设计所必需掌握的两种语言.我自己的理解就是两种语言其中的HTML语言是一种标记语言,主要是对于页面的内容进行编写,表示.将自己想要在网页中表示的内容 ...

  3. 用ArcGIS Runtime for Android建立简单App,展示地图

    1.新建AS项目 此处引用官网上新建项目的过程,很简单,不做翻译了. 2.配置ArcGIS Runtime for Android100.5.0环境 2-1.项目切换成Project 2-2 .选择P ...

  4. javascript生成指定位数的随机数

    <script type="text/javascript"> document.write("请输入要生成随机数的位数:"); // digit是 ...

  5. jQuery---offset方法和position方法

    offset方法和position方法 获取元素的相对于document的位置 //获取元素的相对于document的位置 $(".son").offset(); console. ...

  6. LeetCode 144. 二叉树的前序遍历 (非递归)

    题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 给定一个二叉树,返回它的 前序 遍历. /** * Defi ...

  7. 【笔记】机器学习 - 李宏毅 - 9 - Keras Demo

    3.1 configuration 3.2 寻找最优网络参数 代码示例: # 1.Step 1 model = Sequential() model.add(Dense(input_dim=28*28 ...

  8. 使用shell程序备份crontab中的.sh脚本文件

    需求 线上环境有一些定时脚本(用crontab -l可查看当前用户的),有时我们可能会改这些定时任务的脚本内容.为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 ...

  9. Spark学习之路 (十二)SparkCore的调优之资源调优[转]

    概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如 ...

  10. JS:JS中常见的 “函数名 is not a function” 错误

    js中常见的错误,例如Uncaught TypeError: x is not a function 其原因除了函数本身有错之外,还有一种很奇怪的情况:函数本身没有错,但是运行时就是不能正常运行.这种 ...