lambda會比for循環(huán)快嗎?
這個得看情況來分析。
lambda表達(dá)式中有一種流叫parallelSteam,這叫并行流。相對stream流來講,對流的處理是并行處理,所以效率上肯定比單純的for循環(huán)。不過并行流有個缺陷,就是易產(chǎn)生并發(fā)安全問題。所以這玩意還是慎用。
當(dāng)然,stream流也有自己的優(yōu)勢,假如你有多個處理操作,比如過濾某個集合中特定條件的元素后將其進(jìn)行轉(zhuǎn)化后再遍歷輸出,此時涉及多個操作,如果用傳統(tǒng)的for循環(huán)來做,則不如stream效率高。因為它封裝了對集合進(jìn)行操作的算法和方法,是從底層進(jìn)行處理。如果只是一個遍歷操作,兩者效率上差別不是很大。
更關(guān)鍵的是,使用stream流可以使代碼更簡潔,雖然對老程序員不是很友好,但是你只要花點時間研究研究,你就會喜歡上這種寫法。