scala遍歷map scala中map和foreach的區(qū)別?
scala中map和foreach的區(qū)別?scala中的Set對象都有foreach和map方法。這兩個方法的共同點是,它們用于遍歷集合對象并為每個項執(zhí)行指定的方法。兩者的區(qū)別在于foreach沒有返
scala中map和foreach的區(qū)別?
scala中的Set對象都有foreach和map方法。這兩個方法的共同點是,它們用于遍歷集合對象并為每個項執(zhí)行指定的方法。兩者的區(qū)別在于foreach沒有返回值(確切地說,它返回void),map返回collection對象。查看以下代碼和運行結(jié)果:B.getClass獲取void,而C.getClass獲取collection。查看代碼的第9-11行,foreach和map的結(jié)果是一致的。結(jié)論是foreach不能代替map,而map方法可以代替foreach。問:為什么Scala提供foreach和map?在我看來,作為一種支持函數(shù)編程范式的語言,Scala必須引入一種機制來支持數(shù)學中的函數(shù)概念。在數(shù)學中,函數(shù)是映射的,所以scala中有映射方法也就不足為奇了。Foreach僅在不需要對集合執(zhí)行映射操作,但需要遍歷集合時使用??傊?,foreach用于遍歷一個集合,map用于將一個集合映射(轉(zhuǎn)換)到另一個集合。在[Java]view plain copy
spark的map和flatMap應(yīng)該怎樣理解?
學習大數(shù)據(jù)技術(shù)需要掌握Scala。
但是,在學習Scala之前,您最好在一定程度上了解java和任何函數(shù)式語言(Haskell、SML等),特別是在您可以在編程范式之間自由切換之后。
Scala不偏向大數(shù)據(jù)方向的科學研究。它被用于許多地方,如火花。
1,JVM基礎(chǔ),與Java完全兼容。對于堅實的java基礎(chǔ)的學生,學習斯卡拉非常友好!2!在普通工具中,水槽和Hadoop是用java編寫的,Scale和卡夫卡是Scala編寫的。
所以對于想學習大數(shù)據(jù)的學生來說,Scala確實是最受推薦的。
作為一種相對較新的語言,Scala有一個混亂的社區(qū)。在scala社區(qū)中有許多不同的嘗試,主要是Java和Haskell,以及actor和reactive編程。如果你還沒有掌握一個成熟的編程范例,我認為你很可能買不起Scala。!當java編程基礎(chǔ)很好的時候,學習Hadoop系統(tǒng),然后安排學習Scala,然后學習Scale,卡夫卡等等。這個順序更科學合理,更容易讓大家掌握。
推薦書籍:Scala編程,Scala函數(shù)編程https://www.toutiao.com/i6543924910664712718/