Java8 lambda 循环累加求和


接口流-Stream(),简单列举一下可以使用一下方法求和。

修饰符和类型 方法 描述
Stream map(Function<? super T,? extends R> mapper) 返回由将给定函数应用于此流的元素的结果组成的流。
DoubleStream mapToDouble(ToDoubleFunction<? super T> mapper) 返回DoubleStream由给定函数应用于此流的元素的结果组成的结果。
IntStream mapToInt(ToIntFunction<? super T> mapper) 返回IntStream由将给定函数应用于此流的元素的结果组成的结果。
LongStream mapToLong(ToLongFunction<? super T> mapper) 返回LongStream由给定函数应用于此流的元素的结果组成的结果。

demo

package com.honghh.bootfirst.jdktest;import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;/*** ClassName: Jdk8lambda* Description:** @author honghh* @date 2019/03/05 11:07*/
public class Jdk8lambda {public static void main(String[] args) {List<User> userList = new ArrayList<>();userList.add(new User(1L, "zhangsan", 23, new BigDecimal(55)));userList.add(new User(2L, "lisi", 33, new BigDecimal(22)));userList.add(new User(3L, "wangwu", 44, new BigDecimal(44)));userList.add(new User(4L, "mazi", null, new BigDecimal(44)));// 对年龄进行统计int ageCount = userList.stream().mapToInt(item -> item.getAge() == null ? 0 : item.getAge()).sum();System.out.println("年龄总和: " + ageCount);//对资产进行统计BigDecimal amounts1 = userList.stream().map(item -> item.getAmount() == null ? BigDecimal.ZERO : item.getAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);System.out.println("资产总和1 :" + amounts1);// 对资产进行统计 (这种方式会存在空指针异常,所以建议还是使用上面一种方式  )BigDecimal amounts2 = userList.stream().map(User::getAmount).reduce(BigDecimal::add).get();System.out.println("资产总和2: " + amounts2);}
}

User.java

package com.honghh.bootfirst.jdktest;import java.math.BigDecimal;/*** ClassName: User* Description:** @author honghh* @date 2019/02/28 10:38*/
public class User {private Long id;private String name;private Integer age;private BigDecimal amount;public User() {}public User(Long id, String name) {this.id = id;this.name = name;}public User(Long id, String name, Integer age, BigDecimal amount) {this.id = id;this.name = name;this.age = age;this.amount = amount;}// 省略 get set
}

参考文献

Java Stream - 如何使用mapToInt映射到OptionalInt
https://www.w3cschool.cn/java/codedemo-484050009.html

Java lambda 循环累加求和相关推荐

  1. java循环之后求和代码,Java lambda 循环累加求和代码

    java 8 sthttp://www.cppcns.comream 提供了下面几种类型的求和 Stream::mapToInt Stream::mapToDouble Stream::mapToLo ...

  2. java lamda循环条件_Java lambda 循环累加求和代码

    java 8 stream 提供了下面几种类型的求和 Stream::mapToInt Stream::mapToDouble Stream::mapToLong public void test() ...

  3. java lambda 累加_Java lambda 循环累加求和代码

    Java lambda 循环累加求和代码,给大家,希望能,可以使用,这篇,小编 Java lambda 循环累加求和代码 易采站长站,站长之家为您整理了Java lambda 循环累加求和代码的相关内 ...

  4. java lambda循环_使用Java 8 Lambda简化嵌套循环

    java lambda循环 对于每个经常需要在Java 8(或更高版本)中使用多维数组的人来说,这只是一个快速技巧. 在这种情况下,您可能经常会以类似于以下代码的结尾: float[][] value ...

  5. java lambda循环_在Java 8 Lambda中创建自己的循环结构

    java lambda循环 Java没有简单的结构可以重复N次. 当然,我们可以创建一个for循环,但是很多时候我们甚至都不关心在循环中创建的变量. 我们只想重复一些代码N次,仅此而已. 使用Java ...

  6. java lambda 循环list_Java8--Lambda表达式对List集合操作(一)

    一.利用stream().forEach()遍历集合 List list = new ArrayList(); list.add("djk"); list.add("dj ...

  7. Java应用之阶乘求和

    一起来学习Java鸭! Hello!星辰今天带来的是阶乘求和,走过路过不要错过,来看一看这个程序该怎么写呢?如果对小可爱你有帮助的话,支持一下星辰,给星辰点个赞呗! import java.util. ...

  8. 累加求和 Accumulate.java

    //1+2+3+4+......100=? public class Accumulate { //累加求和 public static void main(String[] args){ int s ...

  9. java 16进制 累加,java 16进制求和示例

    java 16进制求和,也就是16进制字节求二进制和,自己写的逻辑有点问题,不能满足需求,故从网上搜了下,满足了需求,代码如下public class Jinzhi16Util { public St ...

最新文章

  1. Matlab实现图像边缘检测
  2. 输入/输出延迟单元( IODELAY)简介
  3. tableau中的那些快捷键,让你的操作更顺滑
  4. 08 域控 架构主机 转移_论无服务器架构的特征
  5. c# treeView 取消选择事件
  6. NiftyNet开源平台使用
  7. Codeforces 757B - Bash's Big Day(分解因子+hashing)
  8. ddos常见攻击报文
  9. 【MySQL】MySQL USE 库的时候报错 Reading table information for completion of table and column names
  10. phoenixframework自动化测试平台1.4.6版本发布
  11. 纯CSS3实现打火机火焰动画
  12. 物联网大战打响,6 岁的涂鸦智能这样突出重围!
  13. 蓝桥杯 ADV-98 算法提高 约数个数
  14. centos 的命令背景能改吗_精装改毛坯,“降价”促销?“以价换量”还能走得通吗?...
  15. java jdk jre版本要一样吗a_JDK是什么?JRE是什么?JDK和JRE的区别?
  16. Java设计模式(思维导图)
  17. 【露】UK大冒险之——变身小小小黄鸡
  18. 【Matlab】mod函数和rem函数的区别
  19. opencv图像全景拼接
  20. HTML简单的个人博客网站 DIV学生网页设计作品 dreamweaver作业静态HTML网页设计模板 个人网页作业制作

热门文章

  1. SQL查询不重复数据
  2. oracle的to_char如何优化,性能 – 如何优化在date子句中包含to_char的Oracle查询
  3. nginx http转https_Nginx处理访问www域名跳转到不带www域名的配置方法
  4. 多条记录取最近日期的一条_Excel VBA:基于员工打卡记录的考勤数据统计
  5. 水利水电工程管理与实务电子版习题_水利水电工程管理与实务复习题集.pdf
  6. openpyxl安装_自拍教程76Python 一键批量安装第三方包
  7. CNCF接纳Harbor为沙箱项目
  8. 【BZOJ】1299: [LLH邀请赛]巧克力棒
  9. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
  10. Autofac 组件、服务、自动装配 《第二篇》