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