Java8實(shí)現(xiàn)對(duì)List<Integer>的求和
Java8對(duì)List<Integer>的求和
想要用流對(duì)List<Integer>進(jìn)行求和,但查找完資料都是對(duì)List<Object>中Object中的某個(gè)字段進(jìn)行求和,就像這樣:
long sum = list.stream().mapToLong(User::getAge).sum();
而我list中本身存的就是基本類型的數(shù)字,并不適用。后來在IBM開發(fā)者社區(qū)中找答案:
long sum = list.stream().reduce(Integer::sum).orElse(0);
看來對(duì)流操作還是不太熟。
解釋List<Integer> list = new ArrayList<Integer>()
List<Integer> list = new ArrayList<Integer>()
List< Integer>
List是一個(gè)接口
<>表示了List里面放的對(duì)象是什么類型的,這樣寫就表示了,你List里面放的必須是Integer類型的
關(guān)于 integer

- int是java提供的8種原始數(shù)據(jù)類型之一。
- Java為每個(gè)原始類型提供了封裝類,Integer是java為int提供的封裝類。int的默認(rèn)值為0,而Integer的默認(rèn)值為null
- Integer提供了多個(gè)與整數(shù)相關(guān)的操作方法,例如,將一個(gè)字符串轉(zhuǎn)換成整數(shù),Integer中還定義了表示整數(shù)的最大值和最小值的常量。
關(guān)于ArrayList
ArrayList類是一個(gè)特殊的數(shù)組–動(dòng)態(tài)數(shù)組。通過添加和刪除元素,就可以動(dòng)態(tài)改變數(shù)組的長(zhǎng)度。
優(yōu)點(diǎn):
- 1、支持自動(dòng)改變大小
- 2、可以靈活的插入元素
- 3、可以靈活的刪除元素
局限:
比一般的數(shù)組的速度慢一些;
ArrayList是List接口的一個(gè)實(shí)現(xiàn)類。
ArrayList類是繼承AbstractList抽象類和實(shí)現(xiàn)List接口的一個(gè)實(shí)現(xiàn)類。
因此,List接口不能被構(gòu)造,也就是我們說的不能創(chuàng)建實(shí)例對(duì)象,但是我們可以像下面那樣為L(zhǎng)ist接口創(chuàng)建一個(gè)指向自己的對(duì)象引用,而ArrayList實(shí)現(xiàn)類的實(shí)例對(duì)象就在這充當(dāng)了 這個(gè)指向List接口的對(duì)象引用。
這句代碼的目的是可以調(diào)用
List接口里面的內(nèi)置函數(shù),add,get等方法;

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中session存儲(chǔ)Users對(duì)象實(shí)現(xiàn)記住密碼
這篇文章主要介紹了Java中session存儲(chǔ)Users對(duì)象實(shí)現(xiàn)記住密碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
java使用正則表達(dá)為數(shù)字添加千位符的簡(jiǎn)單方法
這篇文章主要介紹了java使用正則表達(dá)為數(shù)字添加千位符的簡(jiǎn)單方法,需要的朋友可以參考下2014-04-04
JAVA 統(tǒng)計(jì)字符串中中文,英文,數(shù)字,空格,特殊字符的個(gè)數(shù)
這篇文章主要介紹了JAVA 統(tǒng)計(jì)字符串中中文,英文,數(shù)字,空格,特殊字符的個(gè)數(shù) ,本文通過一段代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
詳解Java如何實(shí)現(xiàn)一個(gè)BlockingQueue
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)一個(gè)BlockingQueue阻塞隊(duì)列,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
MyBatis?Generator生成數(shù)據(jù)庫模型實(shí)現(xiàn)示例
這篇文章主要為大家介紹了MyBatis?Generator生成數(shù)據(jù)庫模型實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Java通過切面實(shí)現(xiàn)統(tǒng)一處理Token設(shè)置用戶信息
這篇文章主要介紹了Java切面統(tǒng)一處理Token設(shè)置用戶信息,常見的后端開發(fā)中,接口請(qǐng)求中一般前端都是先通過用戶登錄獲取token,每次接口請(qǐng)求都需要在頭信息中攜帶token信息,后端每次都需要手動(dòng)處理token信息,從token信息中解析獲取用戶信息,需要的朋友可以參考下2023-10-10
Spring中@Async用法詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Spring中@Async用法詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02
Mybatis基于xml配置實(shí)現(xiàn)單表的增刪改查功能
這篇文章主要介紹了Mybatis基于xml配置實(shí)現(xiàn)單表的增刪改查,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

