Java基础学习总结(55)——java8新特性:stream

来源:互联网 发布:ui需要哪些软件 编辑:程序博客网 时间:2024/05/16 12:12

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

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

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

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

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

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

面试必知的java8新特性-stream上图转换只需要一行代码就搞定了。

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

面试必知的java8新特性-stream

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

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

0 0