map: 對於Stream中包含的元素使用給定的轉換函數進行轉換操做,新生成的Stream只包含轉換生成的元素。這個方法有三個對於原始類型的變種方法,分別是:mapToInt,mapToLong和mapToDouble。這三個方法也比較好理解,好比mapToInt就是把原始Stream轉換成一個新的Stream,這個新生成的Stream中的元素都是int類型。之因此會有這樣三個變種方法,能夠免除自動裝箱/拆箱的額外消耗;函數
map方法示意圖:對象
flatMap:和map相似,不一樣的是其每一個元素轉換獲得的是Stream對象,會把子Stream中的元素壓縮到父集合中; flatMap方法示意圖:blog