Lambda 表达式的应用
生活随笔
收集整理的這篇文章主要介紹了
Lambda 表达式的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
lambda表達式
- 函數式接口:只有一個方法的接口,比如Runnable和Comparator
先看幾個 lambda 表達式的例子進行理解
(int x,int y) -> x + y //接收x和y兩個整形參數,并返回他們的和 () -> 66 //不接收任何參數直接返回66 (String name) -> {System.out.println(name);} //接收一個字符串然后打印出來 (View view) -> {view.setText("123");} //接受一個view對象并調用setText方法 復制代碼- lambda 表達式本質上是一個 由編譯器推斷并幫你轉換包裝為常規的代碼,因此你可以使用更少的代碼來實現同樣的功能
- 是java se 8 中的一個重要新特性。lambda表達式允許你通過表達式來代替接口功能
- 基本語法:
(parameters) -> expression 或
(parameters) ->{ statements; }
使用lambda 表達式遍歷集合
String[] stars = {"james", "kobe", "paul", "Anthony","rose", "love","jr", "Jordan "}; List<String> starList = Arrays.asList(stars); starList.forEach((star) -> System.out.println(star)); //或者 starList.forEach(System.out::println); 復制代碼在使用匿名內部類的時候
- 比如創建線程,不適用lambda表達式
- 使用lambda 表達式
集合排序
- 不使用lambda 表達式
- 使用lambda 表達式
stream和lamda的結合使用
- 什么是stream
- 若想要將一個集合中的某個屬性提取出來,比如下面這樣
- 若使用lambda 表達式
- 當然我們還可以進行更復雜一點的操作,給每個球員的分數加1000
- 也可以過濾出分數大于30000 年齡小于32 的球員
- 根據球員的分數來排序
總結
以上是生活随笔為你收集整理的Lambda 表达式的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity3D+VR的实现
- 下一篇: [CodeForces 567C] Ge