欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Lambda表达式与Stream流常见使用方式

时间:2023-06-21

Lambda表达式是一个匿名函数,作用是简化代码,常见的使用方式:遍历集合、匿名内部类

普通遍历

Map map = new HashMap<>();map.put("1", "abc");for (String key : map.keySet()) { System.out.println("k=" + key + ",v=" + map.get(key));}

使用 Lambda 进行遍历

map.forEach((k, v) -> { System.out.println("k=" + k + ",v=" + v);});

List 遍历

List list = new ArrayList();list.add("a");list.add("b");list.forEach(v -> { System.out.println(v);});//list双冒号运算符遍历list.forEach(System.out::println);

匿名内部类

Runnable r1 = new Runnable() { @Override public void run() { System.out.println("普通方式"); }};//LambdaRunnable r2 = ()-> System.out.println("Lambda表达式");

区别:使用匿名类与 Lambda 表达式的一大区别在于关键词的使用。对于匿名类,关键词 this 解读为匿名类,而对于 Lambda 表达式,关键词 this 解读为写就 Lambda 的外部类。

Stream流

Stream 的操作要以 lambda 表达式为参数,Stream流常见的使用方式就是对数据进行过滤

转换大写

List list3 = Arrays.asList("zhangSan", "liSi", "wangWu");List list4 = list3.stream().map(String::toUpperCase).collect(Collectors.toList());System.out.println("转换之后的数据:" + list4);

转换数据类型

List list = Arrays.asList("1", "2", "3");List list1 = list.stream().map(Integer::valueOf).collect(Collectors.toList());System.out.println("转换之后的数据:" + list1);

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。