stream流知識總結 詳細

2021-10-19 08:42:02 字數 2734 閱讀 9559

四、使用stream流的幾種方式

stream 是針對集合陣列等資料來源進行邏輯計算的方法。

stream只是計算,並不會修改資料來源。

stream只在需要的時候才會執行。

string[

] arrays =

;//方法1

stream

arrays1 = stream.

of(arrays)

;//方法2

stream

arrays2 = arrays.

stream

(arrays)

;

list

list = arrays.

aslist

("aa"

,"bb"

,"cc"

,"dd"

,"ee"

,"ff");

//list

stream

arrays3 = list.

stream()

;hashset

set =

newhashset

<

>

(list)

;//set

stream

arrays4 = set.

stream()

;

//生成10個隨機數

stream

arrays5 = stream.

generate

(new

random()

::nextdouble)

.limit(10

);

我們可以使用stream.iterate建立流值,即所謂的無限流

stream

array6 = stream.

iterate(1

, integer -

> integer +2)

.limit(10

);array6.

foreach

(a-> system.out.

print

(a+"\t"))

;result:13

57911

1315

1719

// vo 類

public

class

uservo

//測試資料

uservo u1 =

newuservo(1

,"zhangsan"

,"張三"

,"一部"

,"研發");

uservo u2 =

newuservo(2

,"lisi"

,"李四"

,"二部"

,"研發");

uservo u3 =

newuservo(3

,"wangwu"

,"王五"

,"一部"

,"市場");

uservo u4 =

newuservo(4

,"zhangsan"

,"章三"

,"二部"

,"市場");

list

list =

newarraylist

()};

遍歷流中的每個資料

list.

stream()

.foreach

(vo -

> system.out.

printf

(vo.

tostring()

));

result:

uservo

;uservo

;uservo

;uservo

;

字段過濾,需要保留字段的目標表示式直接為true

stream

uservostream = list.

stream()

.filter

(vo -

>

"市場"

.equals

(vo.

getusertype()

)); uservostream.

foreach

(vo -

> system.out.

printf

(vo.

tostring()

));

result:

uservo

;uservo

;

如果是複雜的多條件語句,可用{}包起來,匹配到目標值時return true

stream

uservostream = list.

stream()

.filter

(vo -

>

else

}return

false;}

);uservostream.

foreach

(vo -

> system.out.

printf

(vo.

tostring()

));

result:

uservo

;uservo

;uservo

;

Lambda和Stream流知識點

一 函式式介面,滿足條件 函式式介面 functionalinte ce public inte ce functioninte ce 二 引數的傳遞public void test 三 編寫特性 public void test collect collectors.joining system....

Stream流 方法引用

流式思想 類似於 生產流水線 模型就是每乙個位置 延遲方法 返回型別是stream介面自身型別的方法,可以鏈式程式設計 包括filter,map,skip等 終結方法 返回型別不再是stream介面自身型別的方法,包括count,foreach stream流常用方法 void foreach co...

Stream流的使用

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