日常記錄Stream流操作

2021-09-18 07:01:24 字數 959 閱讀 2509

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 中文稱為 流 通過將集合轉換為這麼一種叫做 流 的元素序列,通過宣告性方式,能夠對集合中的每個元素進行一系列並行或序列的流水線操作。函式式程式設計帶來的好處尤為明顯。這種 更多地表達了業務邏輯的意圖,而不是它的實現機制。易讀的 也易於維護 更可靠 更不容易出錯。面對一對多結構,查詢主實...