Predicate接口使用
请在测试类main方法中完成以下需求
已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941213}
a) 使用lambda表达式创建Predicate对象p1,p1能判断整数是否是自然数(大于等于0)
b) 使用lambda表达式创建Predicate对象p2,p2能判断整数的绝对值是否大于100
c) 使用lambda表达式创建Predicate对象p3,p3能判断整数是否是偶数
遍历arr,仅利用已创建的Predicate对象(不使用任何逻辑运算符),完成以下需求
i. 打印自然数的个数
ii. 打印负整数的个数
iii. 打印绝对值大于100的偶数的个数
iv. 打印是负整数或偶数的数的个数
Function接口使用
使用lambda表达式分别将以下功能封装到Function对象中
a) 求Integer类型ArrayList中所有元素的平均数
b) 将Map中value存到ArrayList中
已知学生成绩如下
姓名 成绩
岑小村 59
谷天洛 82
渣渣辉 98
蓝小月 65
皮几万 70
以学生姓名为key成绩为value创建集合并存储数据,使用刚刚创建的Function对象求学生的平均成绩
如何获取流
问题:
简述单列集合、双列集合、数组分别如何获取Stream流对象,并进行演示
答:
1、java.util.Collection接口中加入了default方法stream()获取流对象,因此其所有实现类均可通过此方式获取流。
2、java.util.Map接口想要获取流,先通过keySet()、values()或entrySet()方法获取键、值或键值对的单列集合,再通过stream()获取流对象。
3、数组获取流,使用Stream接口中的的静态方法of(T...values)获取流
过滤:filter、结果收集(数组)
问题:
有如下7个元素黄药师,冯蘅,郭靖,黄蓉,郭芙,郭襄,郭破虏,使用Stream将以郭字开头的元素存入新数组
取用前几个:limit、跳过前几个:skip
问题:
已知ArrayList集合中有如下元素{陈玄风、梅超风、陆乘风、曲灵风、武眠风、冯默风、罗玉风},使用Stream
1、取出前2个元素并在控制台打印输出。
2、取出后2个元素并在控制台打印输出。
映射:map、逐一消费:forEach
问题:
有如下整数1,-2,-3,4,-5
使用Stream取元素绝对值并打印
组合:concat、结果收集(list)
问题:
已知数组arr1中有如下元素{郭靖,杨康},arr2中有如下元素{黄蓉,穆念慈},使用Stream将二者合并到List集合
获取并发流
问题:
请分别写出获取并发流的两种方式。