java8 lambda判断_Java8新特性-Lambda表达式
Predicate接口使用
請(qǐng)?jiān)跍y(cè)試類(lèi)main方法中完成以下需求
已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941213}
a) 使用lambda表達(dá)式創(chuàng)建Predicate對(duì)象p1,p1能判斷整數(shù)是否是自然數(shù)(大于等于0)
b) 使用lambda表達(dá)式創(chuàng)建Predicate對(duì)象p2,p2能判斷整數(shù)的絕對(duì)值是否大于100
c) 使用lambda表達(dá)式創(chuàng)建Predicate對(duì)象p3,p3能判斷整數(shù)是否是偶數(shù)
遍歷arr,僅利用已創(chuàng)建的Predicate對(duì)象(不使用任何邏輯運(yùn)算符),完成以下需求
i. 打印自然數(shù)的個(gè)數(shù)
ii. 打印負(fù)整數(shù)的個(gè)數(shù)
iii. 打印絕對(duì)值大于100的偶數(shù)的個(gè)數(shù)
iv. 打印是負(fù)整數(shù)或偶數(shù)的數(shù)的個(gè)數(shù)
Function接口使用
使用lambda表達(dá)式分別將以下功能封裝到Function對(duì)象中
a) 求Integer類(lèi)型ArrayList中所有元素的平均數(shù)
b) 將Map中value存到ArrayList中
已知學(xué)生成績(jī)?nèi)缦?/p>
姓名 成績(jī)
岑小村 59
谷天洛 82
渣渣輝 98
藍(lán)小月 65
皮幾萬(wàn) 70
以學(xué)生姓名為key成績(jī)?yōu)関alue創(chuàng)建集合并存儲(chǔ)數(shù)據(jù),使用剛剛創(chuàng)建的Function對(duì)象求學(xué)生的平均成績(jī)
如何獲取流
問(wèn)題:
簡(jiǎn)述單列集合、雙列集合、數(shù)組分別如何獲取Stream流對(duì)象,并進(jìn)行演示
答:
1、java.util.Collection接口中加入了default方法stream()獲取流對(duì)象,因此其所有實(shí)現(xiàn)類(lèi)均可通過(guò)此方式獲取流。
2、java.util.Map接口想要獲取流,先通過(guò)keySet()、values()或entrySet()方法獲取鍵、值或鍵值對(duì)的單列集合,再通過(guò)stream()獲取流對(duì)象。
3、數(shù)組獲取流,使用Stream接口中的的靜態(tài)方法of(T...values)獲取流
過(guò)濾:filter、結(jié)果收集(數(shù)組)
問(wèn)題:
有如下7個(gè)元素黃藥師,馮蘅,郭靖,黃蓉,郭芙,郭襄,郭破虜,使用Stream將以郭字開(kāi)頭的元素存入新數(shù)組
取用前幾個(gè):limit、跳過(guò)前幾個(gè):skip
問(wèn)題:
已知ArrayList集合中有如下元素{陳玄風(fēng)、梅超風(fēng)、陸乘風(fēng)、曲靈風(fēng)、武眠風(fēng)、馮默風(fēng)、羅玉風(fēng)},使用Stream
1、取出前2個(gè)元素并在控制臺(tái)打印輸出。
2、取出后2個(gè)元素并在控制臺(tái)打印輸出。
映射:map、逐一消費(fèi):forEach
問(wèn)題:
有如下整數(shù)1,-2,-3,4,-5
使用Stream取元素絕對(duì)值并打印
組合:concat、結(jié)果收集(list)
問(wèn)題:
已知數(shù)組arr1中有如下元素{郭靖,楊康},arr2中有如下元素{黃蓉,穆念慈},使用Stream將二者合并到List集合
獲取并發(fā)流
問(wèn)題:
請(qǐng)分別寫(xiě)出獲取并發(fā)流的兩種方式。
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java8 lambda判断_Java8新特性-Lambda表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java常用算法_JAVA编程常用算法—
- 下一篇: java jsonp 跨域实例_如何通过