1處理分組後取每組最大
mapconfigmap = configlist.parallelstream().collect(
collectors.collectingandthen(
collectors.reducing(( c1, c2) -> c1.getversionsort() > c2.getversionsort() ? c1 : c2), optional::get)));
2stream對實體類的數值型字段求和
long total1 = list.stream().map(bean::getnum1).reduce(long::sum).get();
double total2 = list.stream().map(bean::getnum2).reduce(double::sum).get();
bigdecimal result2 = userlist.stream()
// 將user物件的mongey取出來map為bigdecimal
.map(user::getmoney)
// 使用reduce聚合函式,實現累加器
.reduce(bigdecimal.zero,bigdecimal::add);
3stream對實體屬性進行分組
map> top3maxsalesbystoreid = store_3product_list.stream().collect(collectors.groupingby(e -> e.get("storeid").tostring()));
map> collect = list.stream().collect(collectors.groupingby(consultcategory::getcmsid));
4stream根據屬性進行分組,並獲取某一屬性的集合 Stream流常用操作
stream是個好東西,用完之後感覺以前寫的一堆判斷什麼的真的太臃腫了。隨便記錄點用到的操作。把乙個list中物件某個字段值重複的合併只去乙個值,例子id重複 arraylistcollect records1.stream collect collectors.collectingandthen ...
List的Stream流操作
stream流 stream 中文稱為 流 通過將集合轉換為這麼一種叫做 流 的元素序列,通過宣告性方式,能夠對集合中的每個元素進行一系列並行或序列的流水線操作。函式式程式設計帶來的好處尤為明顯。這種 更多地表達了業務邏輯的意圖,而不是它的實現機制。易讀的 也易於維護 更可靠 更不容易出錯。面對一對...
List的Stream流操作
stream 中文稱為 流 通過將集合轉換為這麼一種叫做 流 的元素序列,通過宣告性方式,能夠對集合中的每個元素進行一系列並行或序列的流水線操作。函式式程式設計帶來的好處尤為明顯。這種 更多地表達了業務邏輯的意圖,而不是它的實現機制。易讀的 也易於維護 更可靠 更不容易出錯。面對一對多結構,查詢主實...