Java lambda 循環(huán)累加求和代碼
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類型,可以使用下面方法實現(xiàn)
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種循環(huán)
1、for循環(huán)
int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println("1到100累加的和為:" + sum);
2、while循環(huán)
int sum = 0; int i = 1; while (i <= 100) { sum += i; i++; } System.out.println("1到100累加的和為:" + sum);
3、do...while循環(huán)
int sum = 0; int i = 1; do { sum += i; i++; } while (i <= 100); System.out.println("1到100累加的和為:" + sum);
以上這篇Java lambda 循環(huán)累加求和代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Java8新特性之Lambda表達式的使用
- java中l(wèi)ambda表達式的分析與具體用法
- 詳解Java8中的lambda表達式、::符號和Optional類
- Java8語法糖之Lambda表達式的深入講解
- Java8的Lambda表達式你真的會嗎
- Java8新特性:Lambda表達式之方法引用詳解
- Java8如何使用Lambda表達式簡化代碼詳解
- java8 多個list對象用lambda求差集操作
- java 8 lambda表達式中的異常處理操作
- java lambda循環(huán)_使用Java 8 Lambda簡化嵌套循環(huán)操作
- java8 forEach結合Lambda表達式遍歷 List操作
- java lambda 表達式中的雙冒號的用法說明 ::
- Java8 Lambda表達式模板方法實現(xiàn)解析
- Java lambda list轉換map時,把多個參數(shù)拼接作為key操作
- 使用Java 8 Lambda表達式將實體映射到DTO的操作
- Java8 lambda表達式2種常用方法代碼解析
- 詳解Java8中的Lambda表達式
- 詳解Java函數(shù)式編程和lambda表達式
相關文章
Java內存緩存工具Guava LoadingCache使用解析
這篇文章主要介紹了Java內存緩存工具Guava LoadingCache使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01Spring中使用atomikos+druid實現(xiàn)經(jīng)典分布式事務的方法
這篇文章主要介紹了Spring中使用atomikos+druid實現(xiàn)經(jīng)典分布式事務的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06SpringAop @Aspect織入不生效,不執(zhí)行前置增強織入@Before方式
這篇文章主要介紹了SpringAop @Aspect織入不生效,不執(zhí)行前置增強織入@Before方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Struts2中Action三種接收參數(shù)形式與簡單的表單驗證功能
本文以登錄驗證為例,進行代碼展示,下面給大家詳細介紹Struts2中Action三種接收參數(shù)形式與簡單的表單驗證功能,需要的朋友參考下2017-03-03Spring?Boot之Validation自定義實現(xiàn)方式的總結
這篇文章主要介紹了Spring?Boot之Validation自定義實現(xiàn)方式的總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07