Stream流常用操作

2022-08-19 23:54:08 字數 939 閱讀 8279

stream是個好東西,用完之後感覺以前寫的一堆判斷什麼的真的太臃腫了。

隨便記錄點用到的操作。

把乙個list中物件某個字段值重複的合併只去乙個值,例子id重複

arraylistcollect =records1.stream().collect(collectors.collectingandthen(

collectors.tocollection(() -> new treeset<>(

comparator.comparing(

productprocessdrawbackdto::getid))), arraylist::

new));

判斷乙個逗號分隔的字串,統計其中值為1的個數

int i = arrays.aslist(answers.split(",")).stream().filter(result-> result.equals("1")).collect(collectors.tolist()).size();

根據乙個字段分組,並統計個數

mapcollect =records.stream().collect(collectors.groupingby(collectionenhance::getepochid, collectors.counting()));

把乙個list引數抽取出來,生成乙個新的物件或map,並對內容進行為空判斷,最後進行排序

list> collect1 = list.stream().map(e ->).filter(s -> s.get("collnum") != null).sorted(comparator.comparing(e->integer.parseint(e.get("epochid").tostring()))).collect(collectors.tolist());

日常記錄Stream流操作

1處理分組後取每組最大 mapconfigmap configlist.parallelstream collect collectors.collectingandthen collectors.reducing c1,c2 c1.getversionsort c2.getversionsort ...

List的Stream流操作

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

List的Stream流操作

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