Java流 Stream 操作实例 (java流式编程常用方法)
本文目录导航:
Java流(Stream)操作实例-挑选、映射、查找婚配
在Java编程中,Stream操作是一种弱小的工具,用于解决汇合数据。作者RonTech在 /zyhlwzy/a... 分享了一些适用的实例。
首先,从测试类开局,创立一个数据源。
例如,定义一个蕴含TestObject的列表,并定义一个谓词isMng,用于挑选出isMng为true的对象。
Stream的filter方法准许咱们依据条件挑选元素,如挑选出一切名字是Ron的用户。
distinct方法用于去除重复的元素,如查找并打印列表中的一切偶数,确保没有重复。
limit和skip方法用于截断流。
limit(n)用于失掉前n个元素,而skip(n)则跳过前n个元素。
例如,找出并按称号排序前5个sex为M的对象。
map办规律用于对每个元素运行函数,如提取用户称号并打印,或计算称号长度。
anyMatch、allMatch和noneMatch方法用于审核谓词能否婚配流中的元素,如审核用户列表中能否有名为Ron的用户。
Optional类提供了解决或许不存在的值的机制,如经常使用findAny方法查找流中的任一元素,而findFirst则用于顺序流中查找第一个满足条件的元素。
在经常使用Stream时,findAny适宜于不关心前往元素顺序的场景,而findFirst则在并行流中限度较少,适宜于找到第一个婚配条件的元素。
Stream流的具体用法
Java 8引入了Stream流的概念,这是一种对汇合对象(Collection)启动操作的初级形象。
Stream流的操作重要分为两种:两边操作和终端操作。
两边操作是指在流上启动的操作,前往的依然是一个流,可以启动链式操作;而终端操作则是对流的最终操作,它前往的是一个结果或许一个反作用。
应用Stream,咱们可以轻松地对汇合启动复杂的查找、过滤、挑选等操作。
接上去是流的创立环节。
流的创立有多种模式,可以依据实践需求选用适宜的方法。
在Stream中,有一些罕用的方法。
以下将引见其中两种:两边操作和终端操作。
3.1 两边操作两边操作是指在流上启动的操作,前往的依然是一个流。
例如,max()方法可以前往一个Optional对象,示意流中的最大元素。
咱们可以经常使用ifPresent()方法审核Optional对象能否有值,假设有值则打印出结果。
3.2 终端操作终端操作是对流的最终操作,它前往的是一个结果或许一个反作用。
本篇文章转载自天翼云官网网站开发者社区,了解更多云计算常识可登录天翼云官网网站开发者社区,点击专栏检查更多技术干货,与技术大咖促膝论道!
java 8 新个性 Stream流罕用方法操作(二)
Java 8 新个性中,Stream流提供了多种适用操作,便于数据解决。首先,关于排序需求,sorted 方法是关键,它可以依据元素的人造顺序或自定义比拟器对数据启动排序,示例代码如下:
Stream流代码() 或 (());
其次,解决反双数据时,distinct 方法十分繁难,用于去除重复元素。方法签名如下:
Stream流代码(); 自定义类型雷同适用,依据hashCode和equals判别去重。
判别数据能否合乎特定条件时,可以借助关系方法,如:
示例代码(Predicate predicate);
寻觅合乎条件的数据,find 方法派上用场,如:
Stream流代码(); (...)();
失掉最大值和最小值,max 和 min 方法必无法少:
示例代码:Optional max = (()); Optional min = (());
当须要将一切数据演绎为单个结果时,reduce 方法是终极工具,经过指定操作函数将元素兼并:
Stream流代码:Optional reduced = (T identity, BinaryOperator accumulator);
最后,map 和 reduce 的组合经常使用,可以将流中的每个元素转换并进一步聚合,成功复杂的数据转换和计算:示例代码:Optional result = (...)(...);