java lambda 表示式

weixin_33806914發表於2017-12-01

我們為什麼需要Lambda表示式
主要有三個原因:

更加緊湊的程式碼
比如Java中現有的匿名內部類以及監聽器(listeners)和事件處理器(handlers)都顯得很冗長
修改方法的能力(我個人理解為程式碼注入,或者有點類似JavaScript中傳一個回撥函式給另外一個函式)
比如Collection介面的contains方法,當且僅當傳入的元素真正包含在集合中,才返回true。而假如我們想對一個字串集合,傳入一個字串,只要這個字串出現在集合中(忽略大小寫)就返回true。
簡單地說,我們想要的是傳入“一些我們自己的程式碼”到已有的方法中,已有的方法將會執行我們傳入的程式碼。Lambda表示式能很好地支援這點
更好地支援多核處理
例如,通過Java 8新增的Lambda表示式,我們可以很方便地並行操作大集合,充分發揮多核CPU的潛能。
並行處理函式如filter、map和reduce。

相關文章