卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

map與foreach區(qū)別 scala中map和foreach的區(qū)別?

scala中map和foreach的區(qū)別?scala中的Set對(duì)象都有foreach和map方法。這兩個(gè)方法的共同點(diǎn)是,它們用于遍歷集合對(duì)象并為每個(gè)項(xiàng)執(zhí)行指定的方法。兩者的區(qū)別在于foreach沒(méi)有返

scala中map和foreach的區(qū)別?

scala中的Set對(duì)象都有foreach和map方法。這兩個(gè)方法的共同點(diǎn)是,它們用于遍歷集合對(duì)象并為每個(gè)項(xiàng)執(zhí)行指定的方法。兩者的區(qū)別在于foreach沒(méi)有返回值(確切地說(shuō),它返回void),map返回collection對(duì)象。查看以下代碼和運(yùn)行結(jié)果:B.getClass獲取void,而C.getClass獲取collection。查看代碼的第9-11行,foreach和map的結(jié)果是一致的。結(jié)論是foreach不能代替map,而map方法可以代替foreach。問(wèn):為什么Scala提供foreach和map?在我看來(lái),作為一種支持函數(shù)編程范式的語(yǔ)言,Scala必須引入一種機(jī)制來(lái)支持?jǐn)?shù)學(xué)中的函數(shù)概念。在數(shù)學(xué)中,函數(shù)是映射的,所以scala中有映射方法也就不足為奇了。Foreach僅在不需要對(duì)集合執(zhí)行映射操作,但需要遍歷集合時(shí)使用。總之,foreach用于遍歷一個(gè)集合,map用于將一個(gè)集合映射(轉(zhuǎn)換)到另一個(gè)集合。[Java]查看純拷貝

for循環(huán)。通過(guò)下標(biāo),它可以重復(fù)執(zhí)行循環(huán)中的代碼。它功能強(qiáng)大,可以通過(guò)索引獲取元素。它更方便處理更復(fù)雜的處理。Foreach循環(huán)Foreach自始至終遍歷集合中的對(duì)象。它適用于簡(jiǎn)單的遍歷。使用foreach時(shí),集合的對(duì)象將被鎖定,在此期間不能修改。與for循環(huán)相比,select foreach的使用減少了代碼,但是foreach依賴于IEnumerable。運(yùn)行時(shí),效率低于for-loop。當(dāng)然,在處理循環(huán)數(shù)不確定的循環(huán)時(shí),或者需要計(jì)算循環(huán)數(shù)的時(shí)候。Foreach使用方便。此外,通過(guò)編譯系統(tǒng)對(duì)foreach的代碼進(jìn)行了優(yōu)化,類似于for循環(huán)。可以說(shuō)foreach語(yǔ)句是for語(yǔ)句的一個(gè)特殊簡(jiǎn)化版本。在遍歷數(shù)組和集合時(shí),foreach為開(kāi)發(fā)人員提供了極大的便利。在復(fù)雜的環(huán)路設(shè)計(jì)中,還是應(yīng)該采用較為靈活的for環(huán)路。