面试必知的java8新特性-stream

createh52周前 (05-13)技术教程17

java作为开发语言中的元老已经度过了很多年,最新的java8为我们带来了一些新特性,这些特性可以在以后的工作中为我们的开发提供更多的便捷,现在就让我们看看最新的函数式编程风格怎么在实际的开发中使用。

原本在java中遍历集合也许你会使用以下代码:

上面的代码没有什么问题也可以正常运行,只不过略显繁琐,在java8中我们还可以这样使用:

java8以前要统计list内的数据个数必须使用外部迭代的形式来操作,for循环其实是调用迭代接口进行 迭代而已,而java给我们提供了通过stream的方式简化操作,计数操作只需要直接调用stream的过滤操作后计数即可。

上面只是简单介绍了stream的filter方法,其实stream还提供了map、flatMap、max、min等方法

map提供了将list内数据转换的功能。数据转换在java8之前通常我们会将一个list内的数据转换后放入另一个list,现在在java8里我们只需要这么做:

上图转换只需要一行代码就搞定了。

flatMap从字面意思和map很像,只不过可以将多个stream合并为一个stream再进行操作,flatMap方法返回值必须为stream。大概意思如下:

Max和Min方法就是通过stream找出比较出list内最大值和最小值,如下:

如上所示,我们可以很方便的得出最大值和最小值,是不是很简便呢,基本操作就介绍到这里啦,希望对大家有所帮助!

相关文章

程序员都该知道!Java 30年进化史

1991 年 4 月,Sun 公司启动秘密项目,帕特里克诺顿带领詹姆斯高斯林等 6 人组成 Green 团队,针对消费电子设备研发编程语言。起初尝试改良 C++,但高斯林因繁琐的指针和内存管理问题,决...

Java 8新特性全面解析:让编程更简单、更高效

Java 8新特性全面解析:让编程更简单、更高效引言:Java 8的重要性与革新2014年,Java迎来了一个重要的版本——Java 8。这个版本不仅仅是一次普通的迭代,它更像是Java语言发展史上的...

为什么横行数10年的Java忽然就被鄙视了?

为什么横行数10年的Java忽然就被鄙视了?2012年那会互联网刚刚起步,搭建一个网站动辄几个月到半年,并且找不到程序员,因为很少人会java ,这个时候Java 各种框架出现了,SSH ,SSM,另...

java 进化史1

java 从1996年1月第一个版本诞生,到2022年3月最新的java18,已经经历了27年,整整18个大的版本。很久之前有人就说java要被淘汰,但是java活到现在依然坚挺,不知道java还能活...

Java 11新特性对开发者的影响

Java 11新特性对开发者的影响在这个万物互联的时代,软件开发的重要性日益凸显,而Java作为全球最流行的编程语言之一,每一次版本迭代都牵动着无数开发者的神经。今天,让我们一起聊聊Java 11的新...

Java多线程终极指南:从基础到高级应用

一、多线程基础概念1.1 进程与线程的区别对比维度 进程(Process) 线程(Thread) 定义 操作系统资源分配的基本单位 CPU调度的基本单位 内存空间 独立内存空间 共享所属进程的内存空间...