面试必知的java8新特性-stream

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的新...

Java17,有史以来最快 JDK

就在前不久,Java 又又又更新了,Oracle 正式发布了 Java 开发工具 JDK 最新版 JDK17,新版本提供了不少新特性和功能的增强,而且还是一个 LTS(长期支持)版本,这类 JDK...