首頁  >  文章  >  Java  >  Java8怎麼實現對List<Integer>的求和

Java8怎麼實現對List<Integer>的求和

PHPz
PHPz轉載
2023-05-14 22:34:042150瀏覽

Java8對List的求和

想要用流對List進行求和,但查找資料都是對List中Object中的某個欄位進行求和,就像這樣:

long sum = list.stream().mapToLong(User::getAge).sum();

而我list中本身存的就是基本型別的數字,並不適用。後來在IBM開發者社群中找答案:

long sum = list.stream().reduce(Integer::sum).orElse(0);

看來對流操作還是不太熟。

解釋List<Integer> list = new ArrayList<Integer>()

List<Integer> list = new ArrayList<Integer>()

List

List是一個介面

表示了List裡面放的物件是什麼類型的,這樣寫就表示了,你List裡面放的必須是Integer類型的

關於integer

Java8怎麼實現對List<Integer>的求和

  • int是java提供的8種原始資料型別之一。

  • Java為每個原始型別提供了封裝類,Integer是java為int提供的封裝類別。 int的預設值為0,而Integer的預設值為null

  • Integer提供了多個與整數相關的操作方法,例如,將字串轉換成整數,Integer中也定義了表示整數的最大值和最小值的常數。

關於ArrayList

ArrayList類別是一個特殊的陣列–動態陣列。透過新增和刪除元素,就可以動態改變數組的長度。

優點:

  • 1、支援自動改變大小

  • 2、可以靈活的插入元素

  • 3、可以靈活的刪除元素

#限制:

##比一般的陣列的速度慢一些;

ArrayList是List介面的實作類別。

ArrayList類別是繼承AbstractList抽象類別和實作List介面的一個實作類別。

因此,List接口不能被構造,也就是我們說的不能創建實例對象,但是我們可以像下面那樣為List接口創建一個指向自己的對象引用,而ArrayList實現類的實例對象就在這充當了 這個指向List介面的物件引用。

這句程式碼的目的是可以呼叫

List介面裡面的內建函數,add,get等方法;

Java8怎麼實現對List<Integer>的求和

以上是Java8怎麼實現對List<Integer>的求和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除