peek 函數:接受一個函數作為參數。這個函數會被應用到每個元素上,并將結果元素映射成一個新的元素。
相比于類似?foreach,更類似于lambda中的map函數。
map函數:接受一個函數作為參數。這個函數會被應用到每個元素上,并將返回值映射成一個新的元素。
簡單來說,map函數就是對流對象(集合中的所有對象)進行操作并返回一個Stream
當返回類型為源對象類型時,map函數=peek函數
貼段代碼
Listcollect = modelList .stream() .filter(it ->relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0) .map(it->{it.setId(RandomUtil.ssid());return it;}) .collect(Collectors.toList());
這里的map可以替換為peek
Listcollect = modelList .stream() .filter(it ->relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0) .peek(it->it.setId(RandomUtil.ssid())) .collect(Collectors.toList());
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文名稱:小記Javastream中peek()-創新互聯
轉載來源:http://www.yijiale78.com/article38/dppcpp.html
成都網站建設公司_創新互聯,為您提供小程序開發、靜態網站、網站收錄、網站內鏈、網站策劃、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯