java8中流式语法,18K以上的程序员还是要掌握下的
程序员文章站
2022-05-18 18:08:16
环境java1.8、idea2018、springboot帮助人群java软件工程师、java后端开发、准备面试的java软件开发、jdk1.8新特性学习目标掌握java之Lambda函数式编程 filter、map等最常见用法;参考样例代码你也可以写出自己的Lambda函数式代码;以前我写过一篇Lambda函数式编程文章,现在我在补充下。代码举例jdk1.8 Lambda函数式编程在应用开发中最常见的例子如下测试数据准备转换map转换加过滤1...
环境
java1.8、idea2018、springboot
帮助人群
java软件工程师、java后端开发、准备面试的java软件开发、jdk1.8新特性
学习目标
掌握java之Lambda函数式编程 filter、map等最常见用法;
参考样例代码你也可以写出自己的Lambda函数式代码;
以前我写过一篇Lambda函数式编程文章,现在我在补充下。
代码举例
jdk1.8 Lambda函数式编程在应用开发中最常见的例子如下
测试数据准备
转换
map
转换加过滤1
map+filter
转换加过滤2
map+object
转换加过滤3
map+entryset
匹配指定一条
防NPE1
Optional.ofNullable(集合对象).orElse(空集合)
注意默认空值,建议用下面这两个,一个空集合、一个空字符。
new 集合会消耗资源。
防NPE2
除了上面防集合对象null,还有防集合里元素null
利用 filter(Objects::nonNull)
map遍历
比较简洁啦
list去重
也是很简洁啊,stream().distinct()
方法引用
上面的防空2,filter(Objects::nonNull) 就是方法引用,代码简洁到巅峰了
嵌套循环扁平话
这个平时用的我用的很少
father.stream().map(o->o.getChildAs()).flatMap(List::stream)
.map(gg->gg.getName()).forEach(
System.out::println);
注意
filter和map都可以连续多个在一起用的,
如filter(XXX).filter(XXXX)
map(XXX),map(XXXX)
流式语法,程序员们学下吧
本文地址:https://blog.csdn.net/python8989/article/details/107346725