第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從一個(gè)Stream對(duì)象執(zhí)行多次(重用)歸約/映射/混合操作

如何從一個(gè)Stream對(duì)象執(zhí)行多次(重用)歸約/映射/混合操作

我知道Java流對(duì)象是不允許的forked stream。但是也可以想象一個(gè)人會(huì)對(duì)同一個(gè)流執(zhí)行多個(gè)操作。假設(shè)我要映射對(duì)象列表,但還要總結(jié)所有對(duì)象的度量。我想知道是否有可能在不將數(shù)據(jù)轉(zhuǎn)儲(chǔ)到列表的情況下做到這一點(diǎn)。Stream<Thing> thingStream = ...;int accumulation = thingStream.mapToInt(Thing::measure).sum();List<Another> results = thingStream.map(t -> toAnother(t)).collect(toList());我知道可以使用,Stream#peek但聽(tīng)起來(lái)很黑。
查看完整描述

2 回答

?
侃侃無(wú)極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

只能在一個(gè)流上調(diào)用一個(gè)終端操作(例如:求和,計(jì)數(shù),收集..),因此答案是否定的,您不能使用同一流來(lái)執(zhí)行您指定的2個(gè)不同的終端操作。

文檔的一小部分摘錄說(shuō):

執(zhí)行終端操作后,流管道被視為已消耗,無(wú)法再使用;如果需要再次遍歷相同的數(shù)據(jù)源,則必須返回到數(shù)據(jù)源以獲取新的流。在幾乎所有情況下,終端操作人員都很渴望在返回之前完成對(duì)數(shù)據(jù)源的遍歷和對(duì)管道的處理。只有終端操作iterator()和spliterator()不在;在現(xiàn)有操作不足以完成任務(wù)的情況下,將它們作為“逃生艙口”提供以啟用任意客戶(hù)端控制的管道遍歷。


查看完整回答
反對(duì) 回復(fù) 2021-05-12
?
開(kāi)滿(mǎn)天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

每個(gè)終端操作在源鏈上調(diào)用iterator()。您只能調(diào)用一個(gè)終端操作,因?yàn)镾tream不允許對(duì)其管道進(jìn)行多次遍歷。這樣做會(huì)產(chǎn)生IllegalStateException。選擇該文件是為了保持一致性,以支持單發(fā)流源,例如從網(wǎng)絡(luò)讀取文件或字節(jié)。



查看完整回答
反對(duì) 回復(fù) 2021-05-12
  • 2 回答
  • 0 關(guān)注
  • 500 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)