Java lambda 循环累加求和代码

 更新时间:2020年08月17日 09:10:59   作者:我写的代码会爆炸  
这篇文章主要介绍了Java lambda 循环累加求和代码,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

java 8 stream 提供了下面几种类型的求和

Stream::mapToInt

Stream::mapToDouble

Stream::mapToLong

 public void test() {
 List<Person> people = new ArrayList<>();
 people.add(new Person("zhangsan",20));
 people.add(new Person("lisi", 26));
 people.add(new Person("wangwu",35));
 
 int sum = people.stream()
      .mapToInt(p -> p.getAge())
      .sum();
 System.out.println("Total of ages " + sum);
 }

但是没有BigDecimal类型,可以使用下面方法实现

  public void test() {
 List<Person> list = new ArrayList<>();
 list.add(new Person("zhangsan", 20, new BigDecimal(10.5)));
 list.add(new Person("lisi", 26, new BigDecimal(22.2)));
 list.add(new Person("wangwu", 35, new BigDecimal(15.54)));
 
 BigDecimal amounts = list.stream().map(item -> item.getAmount())
  .reduce(BigDecimal.ZERO, BigDecimal::add);
 amounts = amounts.setScale(1, BigDecimal.ROUND_DOWN);
 System.out.println("Total of amounts:" + amounts);
 
 // 或者
 BigDecimal sum = list
  .stream()
  .map(Person::getAmount)
  .reduce(BigDecimal::add)
  .get();
    sum = sum.setScale(1, BigDecimal.ROUND_DOWN);
 System.out.println("Total of sums: " + sum);
 }

补充知识:Java算法——求1到100累加的和,3种循环

1、for循环

int sum = 0;

for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1到100累加的和为:" + sum);

2、while循环

int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
System.out.println("1到100累加的和为:" + sum);

3、do...while循环

int sum = 0;
int i = 1;
do {
sum += i;
i++;
} while (i <= 100);
System.out.println("1到100累加的和为:" + sum);

以上这篇Java lambda 循环累加求和代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springboot实现将自定义日志格式存储到mongodb中

    springboot实现将自定义日志格式存储到mongodb中

    这篇文章主要介绍了springboot实现将自定义日志格式存储到mongodb中的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 使用Spring Data Redis实现数据缓存的方法

    使用Spring Data Redis实现数据缓存的方法

    目前在系统架构设计中使用Redis实现缓存,这篇文章主要介绍了使用Spring Data Redis实现数据缓存的方法,具有一定的参考价值,需要的朋友可以参考下
    2018-11-11
  • java代理 jdk动态代理应用案列

    java代理 jdk动态代理应用案列

    java代理有jdk动态代理、cglib代理,这里只说下jdk动态代理,jdk动态代理主要使用的是java反射机制,需要了解的朋友可以参考下
    2012-11-11
  • Spring Boot 打包如何将依赖全部打进去

    Spring Boot 打包如何将依赖全部打进去

    这篇文章主要介绍了Spring Boot 打包如何将依赖全部打进去,在pom.xml中引入插件,需要在项目的pom.xml文件中,添加 Maven 插件  spring-boot-maven-plugin,本文结合实例代码介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Java TreeSet 添加失败的解决

    Java TreeSet 添加失败的解决

    这篇文章主要介绍了Java TreeSet 添加失败的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java binarysearch方法原理详解

    Java binarysearch方法原理详解

    这篇文章主要介绍了Java binarysearch方法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • java实现http的Post、Get、代理访问请求

    java实现http的Post、Get、代理访问请求

    这篇文章主要为大家提供了java实现http的Post、Get、代理访问请求的相关代码,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Java上传文件到服务器指定文件夹实现过程图解

    Java上传文件到服务器指定文件夹实现过程图解

    这篇文章主要介绍了Java上传文件到服务器指定文件夹实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Spring配置多个数据源并实现数据源的动态切换功能

    Spring配置多个数据源并实现数据源的动态切换功能

    这篇文章主要介绍了Spring配置多个数据源并实现数据源的动态切换功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • SSL证书部署+SpringBoot实现HTTPS安全访问的操作方法

    SSL证书部署+SpringBoot实现HTTPS安全访问的操作方法

    文章介绍了SSL和HTTPS的工作原理,包括握手阶段和安全数据传输阶段,通过模拟HTTPS请求,展示了如何生成自签名证书并配置Spring Boot应用程序以支持HTTPS,总结指出,SSL和HTTPS对于保护网络安全至关重要,感兴趣的朋友一起看看吧
    2025-02-02

最新评论