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

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

如果只有一個(gè) BinaryOperator 參數(shù)被用自身來(lái)總結(jié),那么 Java 流實(shí)際上會(huì)減少什么?

如果只有一個(gè) BinaryOperator 參數(shù)被用自身來(lái)總結(jié),那么 Java 流實(shí)際上會(huì)減少什么?

Helenr 2022-08-03 10:29:38
看看下面的代碼:在二元運(yùn)算符中,我們有remined((x,y)->x+x)。為什么它實(shí)際上被計(jì)算為可選[512]?我沒(méi)有解釋。System.out.println((Stream.generate(()->1d).limit(10).            peek((doubleValue)->{                System.out.println("Call the first peek: "+doubleValue);            }).            reduce((x,y)->x+x)));這是輸出:只是為了向你澄清,我在偷看部分中顯示單個(gè)x是1.0。Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Call the first peek: 1.0Optional[512.0]那么問(wèn)題來(lái)了,在獲得Optimal[512]之前,什么控制著減少到工作?爪哇島java-stream
查看完整描述

3 回答

?
郎朗坤

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

因?yàn)槟?10 個(gè)參數(shù),但操作是 9。2^9 = 512


查看完整回答
反對(duì) 回復(fù) 2022-08-03
?
白板的微信

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

從技術(shù)上講,當(dāng)您這樣做時(shí),Stream reduce不會(huì)提供任何一致的事情。

保證僅通過(guò)關(guān)聯(lián)約化操作提供,而您的保證則不然(它考慮了第一個(gè)操作數(shù),忽略了第二個(gè)操作數(shù)。

測(cè)試代碼時(shí),會(huì)觀察結(jié)果。

當(dāng)試圖對(duì)如何在非并行流中實(shí)現(xiàn)減少進(jìn)行有根據(jù)的猜測(cè)時(shí),這些結(jié)果并不令人驚訝。但是,Stream的文檔無(wú)法保證這些結(jié)果,因?yàn)槟鷽](méi)有遵守要求。

例如,結(jié)果可能是 1 或 2。雖然有點(diǎn)令人費(fèi)解,但它仍然有意義,你是那個(gè)不符合要求的人。


查看完整回答
反對(duì) 回復(fù) 2022-08-03
?
收到一只叮咚

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

讓我們看看這里發(fā)生了什么:


    System.out.println((Stream.generate(()->1d).limit(10).

            reduce((x,y)-> {

                double ret = x+x;

                System.out.println(ret);

                return ret;

            })));

輸出為


2.0

4.0

8.0

16.0

32.0

64.0

128.0

256.0

512.0

Optional[512.0]

因?yàn)槟牧髦杏?10 個(gè)參數(shù)提供給具有默認(rèn)起始值的 reduce。0


由于您正在使用并且您實(shí)際上將結(jié)果加倍9倍,例如在第一個(gè)之后,@ZhenyaM提到:(x, y) -> x+xresult <- result + resultresult <- 0 + 12^9 = 512


查看完整回答
反對(duì) 回復(fù) 2022-08-03
  • 3 回答
  • 0 關(guān)注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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