Stream程式設計 案例總結

2021-09-29 16:21:11 字數 3409 閱讀 6818

隨機數

list

collect = threadlocalrandom.

current()

.ints(0

,9).

limit(10

).boxed()

.collect

(collectors.

tolist()

);system.out.

println

(collect)

;

獲取陣列最小的值

int

nums =

newint

;int value = intstream.

of(nums)

.min()

.getasint()

;system.out.

println

(value)

;

並行方式

int

nums =

newint

;int value = intstream.

of(nums)

.parallel()

.min()

.getasint()

;system.out.

println

(value)

;

陣列轉換

int

nums =

newint

;list

strings = arrays.

stream

(nums)

.boxed()

.map

(object:

:tostring)

.collect

(collectors.

tolist()

);system.out.

println

(strings)

;

併發處理,同步返回

;陣列只取一專案

("未找到"))

;system.out.

println

(value)

;去重

@data提供類所有屬性的 get 和 set 方法,此外還提供了equals、canequal、hashcode、tostring 方法。

不懂 lombok可以檢視 [lombok 的使用](lombok 的使用.md)

@data

@allargsconstructor

public

static

class

person

list

collect = stream.of(

newperson

("張三",13

),newperson

("小紅",15

),newperson

("張三",13

)).distinct()

.collect

(collectors.

tolist()

);system.out.

println

(collect)

;

分組

@data

@allargsconstructor

public

static

class

student

list

students = arrays.

aslist

(new

student

("一年級"

,"張三"),

newstudent

("一年級"

,"李四"),

newstudent

("二年級"

,"小紅"))

;map

> collect = students.

stream()

.collect

(collectors.

groupingby

(student:

:getcls));

//檢視

setclssets = collect.

keyset()

;for

(string key : clssets)

陣列合併,並去重

list

names1 = arrays.

aslist

("小明"

,"小紅"

,"小花");

list

names2 = arrays.

aslist

("小明"

,"小劉"

,"小珂"

,"小張");

list

collect = stream.

concat

(names1.

stream()

, names2.

stream()

).distinct()

.collect

(collectors.

tolist()

);// [小明, 小紅, 小花, 小劉, 小珂, 小張]

system.out.

println

(collect)

;

stream流知識總結 詳細

四 使用stream流的幾種方式 stream 是針對集合陣列等資料來源進行邏輯計算的方法。stream只是計算,並不會修改資料來源。stream只在需要的時候才會執行。string arrays 方法1 stream arrays1 stream.of arrays 方法2 stream arra...

python程式設計案例 python程式設計案例

利用python內建函式和列表物件方法def demo2 x,y,z i max x ipos x.index i j max y jpos y.index j k max z kpos z.index k return i j k,ipos,jpos,kpos 但是,上面的 看上去還是很笨啊,傻傻...

java函式式程式設計之Stream

描述 對集合進行過濾,返回乙個符合特定條件的stream。原始碼 stream filter predicate predicate 測試 private listuserlist new arraylist before public void init test public void test...