java8之stream常見方法

2021-09-12 19:44:30 字數 1276 閱讀 5826

通過名字知道這是個對映關係。

stream

map(function<

?super t,

?extends

r;

stream

stream = stream.of(

"1",

"2",

"3")

; stream

mapresult = stream.

map(str-

>integer.

parseint

(str)

);

扁平化對映,這個從字面理解有點難

stream

flatmap

(function<

?super t,

?extends

stream

<

?extends

r;

先理解function的轉換結果:? extends stream<? extends r>,首先 ?是乙個流,也就是說function轉換結果必須是個流,然後這個流的上邊界是 stream<? extends r>。

在理解flatmap返回值stream: 假如 呼叫者的流有10個元素,經過function後會變成10個流,但是結果卻不是乙個具有長度為10的流陣列,而是成為了乙個大的流。 這也就是flatmap叫做合併流的原因

stream

stream = stream.of(

"hello"

,"world");

stream

flatmapresult = stream.

flatmap

(str-

> arrays.

stream

(str.

split(""

)));

flatresult.

foreach

(system.out:

:print)

; stream]> mapresult = stream.

map(str-

>str.

split(""

));

flatmapresult: h e l l o w o r l d

public

void

testgroup()

);}

Java8之Stream流代替For迴圈

stream流代替for迴圈進行輸出可以使 更簡潔。需求 根據姓名獲取員工資訊 1.建立實體類 emp public class emp public string getid public void setid string id public string getname public void...

Java 8中stream相關用法

jdk1.8新加了lambda表示式,可以幫助開發者更好的,更高效的實現一些通常複雜的 實現 1.list轉換map 2.從實體中取出id集合,去重 listlist page.stream filter m m.getid 0 map k k.getid distinct collect coll...

java8新特性之Stream 終止操作的多種方式

方法 簡述allmatch predicate p 檢查是否匹配所有元素 anymatch predicate 檢查是否至少匹配乙個元素 nonematch predicate p 檢查是否沒有匹配所有元素 findfirst 返回第乙個元素 findany 返回當前流中的任意元素 count 返回...