欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java8中流式语法,18K以上的程序员还是要掌握下的

程序员文章站 2022-12-20 14:11:27
环境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函数式编程在应用开发中最常见的例子如下

java8中流式语法,18K以上的程序员还是要掌握下的

测试数据准备

转换

java8中流式语法,18K以上的程序员还是要掌握下的

map

转换加过滤1

java8中流式语法,18K以上的程序员还是要掌握下的

map+filter

转换加过滤2

java8中流式语法,18K以上的程序员还是要掌握下的

map+object

转换加过滤3

java8中流式语法,18K以上的程序员还是要掌握下的

map+entryset

匹配指定一条

java8中流式语法,18K以上的程序员还是要掌握下的

 

防NPE1

Optional.ofNullable(集合对象).orElse(空集合)

java8中流式语法,18K以上的程序员还是要掌握下的

 

注意默认空值,建议用下面这两个,一个空集合、一个空字符。

new 集合会消耗资源。

java8中流式语法,18K以上的程序员还是要掌握下的

 

防NPE2

除了上面防集合对象null,还有防集合里元素null

利用 filter(Objects::nonNull)

java8中流式语法,18K以上的程序员还是要掌握下的

 

map遍历

比较简洁啦

java8中流式语法,18K以上的程序员还是要掌握下的

 

list去重

也是很简洁啊,stream().distinct()

java8中流式语法,18K以上的程序员还是要掌握下的java8中流式语法,18K以上的程序员还是要掌握下的

java8中流式语法,18K以上的程序员还是要掌握下的

 

方法引用

上面的防空2,filter(Objects::nonNull) 就是方法引用,代码简洁到巅峰了

java8中流式语法,18K以上的程序员还是要掌握下的

 

嵌套循环扁平话

这个平时用的我用的很少

java8中流式语法,18K以上的程序员还是要掌握下的

 

java8中流式语法,18K以上的程序员还是要掌握下的

 

java8中流式语法,18K以上的程序员还是要掌握下的

 

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