Stream的flatmap與map異同的理解

2022-07-10 06:39:12 字數 775 閱讀 3864

他們的相同點是接收的入參都是乙個function。

不同點這個入參function的返回不同。map返回乙個物件,flatmap返回乙個stream。

這就使得map是一對一的處理,得到的stream中元素的數量和原始數量一致,而flatmap返回stream這就使得flatmap可以具備一對多的處理能力。最後這個function的stream匯聚到乙個stream中,數量可以多於原始元素的數量。

public

static

void

main(string args)

輸出:

a1test

a2test

a3testa1a

2a3

**:

陣列流中的每乙個值,使用所提供的函式執行一遍,一一對應。得到元素個數相同的陣列流

flat是扁平的意思。它把陣列流中的每乙個值,使用所提供的函式執行一遍,一一對應。得到元素相同的陣列流。只不過,裡面的元素也是乙個子陣列流。把這些子陣列合併成乙個陣列以後,元素個數大概率會和原陣列流的個數不同。

map與flatMap的區別

spark的轉換運算元中map和flatmap都十分常見,要了解清楚它們的區別,我們必須弄懂每執行一次的資料結構是什麼。這裡我們先準備一組資料 hello spark hadoop jeff ruoze spark hi spark hello 啟動spark之後,讀取這個檔案 將一行行按照製表符進...

map與flatmap的區別

def func map data hello world hello fly data rdd sc.parallelize data map rdd data rdd.map lambda s s.split print map print format map rdd.collect def ...

map與flatMap的區別

flatmap val linearray array hello you hello me hello world val lines sc.parallelize linearray,1 val words lines.flatmap line words.foreach結果 hello you...