stream流的使用

2021-10-19 17:29:56 字數 2064 閱讀 3136

list基礎物件去重處理

list

newstrlist = strlist.

stream()

.distinct()

.collect

(collectors.

tolist()

);

list物件轉map

map

roommap = roomlist.

stream()

.collect

(collectors.

tomap

(person:

: getid, m -

> m)

);

list物件轉list基礎物件去重

//1、提取出list物件中的乙個屬性去重

list

newroomlist = roomlist.

stream()

.map

(person:

: getid)

.distinct()

.collect

(collectors.

tolist()

);//2、根據gender,age兩個屬性去重

list

newpersonlist = personlist.

stream()

.collect

( collectors.

collectingandthen

( collectors.

tocollection((

)->

newtreeset

<

>

( comparator.

comparing

(o -

> o.

getgender()

+";"

+ o.

getage()

))),

arraylist:

:new))

;

陣列型別轉換

long[

] array = arrays.

stream

(split)

.map

(long:

:parselong)

.toarray

(long:

:new

);

list物件過濾資料獲取屬性陣列

string[

] strarr = arealist.

stream()

.filter

(x -

>

"2".

equals

(x.gettype()

)).map

(area:

:getcode)

.toarray

(string:

:new

);

分組

list.

stream()

.collect

(collectors.

groupingby

(user:

:get***)

);

排序

list.

stream()

.sorted

((o1, o2)

->o1.

getvalue()

.compareto

(o2.

getvalue()

)).collect

(collectors.

tolist()

);

求和

long salarysum = employeelist.

stream()

.maptolong

(employee:

:getsalary)

.sum()

;

Stream流的使用

本文簡單記述stream的使用 第一種 最常用的,從資料庫查出資料後,需要封裝成vo類,把需要的字段返回給前端 listorderlist orderservice.list listlist orderlist.stream map order collect collectors.tolist ...

專案中stream流的使用心得

話不多說,直接上。需求 根據一定規則獲取前幾 top n 的 商 商戶,啥的都可以 背景 商有等級level,評分 rank,距離維度。實現步驟 1.根據等級分組 map supplierlevelmap allsupplierlist.stream filter e e.getlevel null...

C C 的流 stream 物件

c c 有以下幾種流物件的 型別 名稱 作用 istream cin 從input通道讀入資料 ostream cout 將資料寫到標準output通道 ostream cerr 將錯誤資訊寫到標準error通道 ostream clog 將日誌資訊寫到標準logging通道 wistream wc...