java8新特性高数式_Java8新特性(三)集合之 Stream 流式操作

/**

* forEach() 方法用来遍历流中的数据,是一个终结方法。该方法接收一个 Consumer 接口函数,会将每一个流元素交给该函数进行处理。

* @param action

*/

void forEach(Consumer super T> action);

/**

* count() 方法,用来统计集合中的元素个数,是一个终结方法。该方法返回一个 long 值代表元素个数

* @return

*/

long count();

/**

* filter() 方法,用于过滤数据,返回符合过滤条件的数据,是一个非终结方法。

* 我们可以通过 filter() 方法将一个流转换成另一个子集流。

* 该接口接收一个 Predicate 函数式接口参数(可以是一个 Lambda 或 方法引用) 作为筛选条件

* @param predicate

* @return

*/

Stream filter(Predicate super T> predicate);

/**

* limit() 方法,用来对 Stream 流中的数据进行截取,只取用前 n 个,是一个非终结方法。

* 参数是一个 long 型,如果集合当前长度大于参数则进行截取,否则不进行操作。

* @param maxSize

* @return

*/

Stream limit(long maxSize);

/**

* 如果希望跳过前几个元素,去取后面的元素,则可以使用 skip()方法,获取一个截取之后的新流

* @param n

* @return

*/

Stream skip(long n);

/**

* map() 方法,可以将流中的元素映射到另一个流中。

* 即:可以将一种类型的流转换为另一种类型的流

* 可以将当前流中的T类型数据转换为另一种R类型的流

* @param mapper

* @param

* @return

*/

Stream map(Function super T, ? extends R> mapper);

/**

* flatMap 的使用,同 map 类似。

* map只是一维 1对1 的映射,而flatMap可以将一个2维的集合映射成一个一维,相当于它映射的深度比map深了一层。

* @param mapper

* @param

* @return

*/

Stream flatMap(Function super T, ? extends Stream extends R>> mapper);

/**

* 根据元素的自然规律排序

* @return

*/

Stream sorted();

/**

* 根据比较器指定的规则排序

* @param comparator

* @return

*/

Stream sorted(Comparator super T> comparator);

/**

* distinct() 方法,可以用来去除重复数据

* @return

*/

Stream distinct();

/**

* allMatch 全匹配(匹配所有,所有元素都需要满足条件-->返回true)

* @param predicate

* @return

*/

boolean allMatch(Predicate super T> predicate);

/**

* anyMatch 匹配某个元素(只要有一个元素满足条件即可-->返回true)

* @param predicate

* @return

*/

boolean anyMatch(Predicate super T> predicate);

/**

* noneMatch 匹配所有元素(所有元素都不满足指定条件-->返回true)

* @param predicate

* @return

*/

boolean noneMatch(Predicate super T> predicate);

/**

* findFirst() 、findAny() 方法,都是用来查找 Stream 流中的第一个元素。

* 返回值为 Optional,意味着有可能找到也有可能找不到的情况

* @return

*/

Optional findFirst();

Optional findAny();

/**

* max() 和 min() 方法,用来获取 Stream 流中的最大值和最小值。

* 该接口需要一个 Comparator 函数式接口参数,根据指定排序规则来获取最大值,最小值。

*为了保证数据的准确性,此处排序规则需要是升序排序。

* 因为:max() 方法获取的是排序后的最后一个值,min() 方法获取的是排序后的第一个值。

* @param comparator

* @return

*/

Optional max(Comparator super T> comparator);

Optional min(Comparator super T> comparator);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值