Java8實現(xiàn)對List<Integer>的求和
Java8對List<Integer>的求和
想要用流對List<Integer>進行求和,但查找完資料都是對List<Object>中Object中的某個字段進行求和,就像這樣:
long sum = list.stream().mapToLong(User::getAge).sum();
而我list中本身存的就是基本類型的數(shù)字,并不適用。后來在IBM開發(fā)者社區(qū)中找答案:
long sum = list.stream().reduce(Integer::sum).orElse(0);
看來對流操作還是不太熟。
解釋List<Integer> list = new ArrayList<Integer>()
List<Integer> list = new ArrayList<Integer>()
List< Integer>
List是一個接口
<>表示了List里面放的對象是什么類型的,這樣寫就表示了,你List里面放的必須是Integer類型的
關于 integer
- int是java提供的8種原始數(shù)據(jù)類型之一。
- Java為每個原始類型提供了封裝類,Integer是java為int提供的封裝類。int的默認值為0,而Integer的默認值為null
- Integer提供了多個與整數(shù)相關的操作方法,例如,將一個字符串轉(zhuǎn)換成整數(shù),Integer中還定義了表示整數(shù)的最大值和最小值的常量。
關于ArrayList
ArrayList類是一個特殊的數(shù)組–動態(tài)數(shù)組。通過添加和刪除元素,就可以動態(tài)改變數(shù)組的長度。
優(yōu)點:
- 1、支持自動改變大小
- 2、可以靈活的插入元素
- 3、可以靈活的刪除元素
局限:
比一般的數(shù)組的速度慢一些;
ArrayList是List接口的一個實現(xiàn)類。
ArrayList類是繼承AbstractList抽象類和實現(xiàn)List接口的一個實現(xiàn)類。
因此,List接口不能被構造,也就是我們說的不能創(chuàng)建實例對象,但是我們可以像下面那樣為List接口創(chuàng)建一個指向自己的對象引用,而ArrayList實現(xiàn)類的實例對象就在這充當了 這個指向List接口的對象引用。
這句代碼的目的是可以調(diào)用
List接口里面的內(nèi)置函數(shù),add,get等方法;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java內(nèi)部類持有外部類導致內(nèi)存泄露的原因與解決方案詳解
這篇文章主要為大家詳細介紹了Java因為內(nèi)部類持有外部類導致內(nèi)存泄露的原因以及其解決方案,文中的示例代碼講解詳細,希望對大家有所幫助2022-11-11使用eclipse 實現(xiàn)將springboot項目打成jar包
這篇文章主要介紹了使用eclipse 實現(xiàn)將springboot項目打成jar包的流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07spring cloud 使用Zuul 實現(xiàn)API網(wǎng)關服務問題
這篇文章主要介紹了spring cloud 使用Zuul 實現(xiàn)API網(wǎng)關服務問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05springboot+springsecurity+mybatis+JWT+Redis?實現(xiàn)前后端離實戰(zhàn)教程
這篇文章主要介紹了springboot+springsecurity+mybatis+JWT+Redis?實現(xiàn)前后端離實戰(zhàn)教程,需要的朋友可以參考下2024-01-01