Java8中Stream的一些神操作


Posted in Java/Android onNovember 02, 2021

Java8对集合提供了一种流式计算的方式,这种风格将要处理的元素集合看 作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如 筛选, 排序,聚合等。

Stream API 基本都是返回Stream本身,这样多个操作可以串联成一个管 道, 如同流式风格(fluent style)。 这样做可以对操作进行优化, 比 如延迟执行(laziness)和短路( short-circuiting)

Java8中Stream的一些神操作

Java8中Stream的一些神操作

Java8中Stream的一些神操作

stream() 为集合创建串行流

parallelStream() 为集合创建并行流

private void createStream(){
    Stream<Integer> stream = getList().stream();
    Stream<Integer> parallelStream = getList().parallelStream();
}

stream提供了一个内部遍历的方式forEach(),通过forEach可以大大简化集 合遍历的代码。

private void forEach(){
    getList().forEach(i->System.out.println(i));
}

stream提供了一个用于数据过滤的方法filter(),与stream的其他API配合 使用可以简单的实现数据过滤。

stream提供了一个用于数据映射的方法map(),与stream的其他API配合使用 可以简单的实现数据映射。

stream提供了一个用于数据映射的方法sorted(),与stream的其他API配合 使用可以简单的实现数据排序。

Collectors 类实现了很多归约操作,例如将流转换成集合和聚合元素。 Collectors 可用于返回列表或字符串。

一些产生统计结果的收集器也非常有用。它们主要用于int、double、long 等基本类型上,它们可以用来产生类似如下的统计结果。

总结

到此这篇关于Java8中Stream的文章就介绍到这了,更多相关Java8 Stream神操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
Java实现斗地主之洗牌发牌
Jun 14 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
浅谈Python魔法方法
Jun 28 Java/Android
Java数组与堆栈相关知识总结
Jun 29 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
MybatisPlus EntityWrapper如何自定义SQL
Mar 22 Java/Android
Spring事务管理下synchronized锁失效问题的解决方法
Mar 31 Java/Android
mapstruct的用法之qualifiedByName示例详解
Apr 06 Java/Android
Java详细解析==和equals的区别
Apr 07 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
Java 异步任务计算FutureTask
Apr 28 Java/Android
springboot如何接收application/x-www-form-urlencoded类型的请求
Nov 02 #Java/Android
Java 在生活中的 10 大应用
Nov 02 #Java/Android
使用Spring处理x-www-form-urlencoded方式
Nov 02 #Java/Android
Java 实现限流器处理Rest接口请求详解流程
Java8中接口的新特性使用指南
Nov 01 #Java/Android
Spring中的使用@Async异步调用方法
Nov 01 #Java/Android
MyBatis自定义SQL拦截器示例详解
Oct 24 #Java/Android
You might like
NOT NULL 和NULL
2007/01/15 PHP
深入php处理整数函数的详解
2013/06/09 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
jQuery基础知识小结
2014/12/22 Javascript
js实现进度条的方法
2015/02/13 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
社区八一活动方案
2014/02/03 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
会计工作态度自我评价
2015/03/06 职场文书
航班延误投诉信
2015/07/02 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
一条 SQL 语句执行过程
2022/03/17 MySQL