博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础学习总结(55)——java8新特性:stream
阅读量:7226 次
发布时间:2019-06-29

本文共 670 字,大约阅读时间需要 2 分钟。

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

转载于:https://www.cnblogs.com/zhanghaiyang/p/7212916.html

你可能感兴趣的文章
表格单元格td设置宽度无效的解决办法
查看>>
防止视频资源被下载
查看>>
都是并发惹的祸
查看>>
eclipse实现JavaWeb项目 增量打包
查看>>
面试题系列一之 程序生命周期
查看>>
设计模式——观察者模式:气象监测应用
查看>>
NSUserDefaults简介及如何使用 NSUserDefaults 存储自定义对象
查看>>
IntelliJ IDEA搭建SpringBoot
查看>>
深入浅出iOS事件机制
查看>>
hadoop理解
查看>>
Oracle——18用户、角色和权限信息的视图总结
查看>>
WordPress 中的 Debug 模式(调试模式)
查看>>
node下使用express框架,ejs模板引擎
查看>>
搜索:文本的匹配算法
查看>>
Fedora 17 LibreOffice 办公套件的安装与汉化
查看>>
scrollview不充满屏幕的原因
查看>>
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>