Stream流

1.两种获取Stream流的方式

java. util. stream. stream<T>是Java 8新加入的最常用的流接口。(这并不是一 个函数式接口。 )
获取一个流非常简单,有以下几种常用的方式:
所有的Collection集合都可以通过stream默认方法获取流;
default Stream<E> stream ()
stream接口的静态方法of可以获取数组对应的流。
stotic <T> Stream<T> of (T... values)
参数是一个可变参数,那么我们就可以传递一个数组

stream流属于管道流,只能被消费(使用)一次
第一个stream流调用完毕方法,数据就会流转到下一个Stream上
而这时第一个Stream流已经使用完毕 ,就会关闭了
所以第一个Stream流就不能再调用方法了
ILLegalStateException: stream has already been operated upon or closed
 

如果需要将流中的元素映射到另一个流中,可以使用mop方法.
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
该接口需要一个Function函数式接口参数,可以将当前流中的7类型数据转换为另一种R类型的流。
Function中的抽象方法:
R apply(T t);

Stream流中的常用方法_ count :用于统计Stream流中元素的个数
Long count();
count方法是一个终结方法,返回值是一个long类型的整数
所以不能再继续调用Stream流中的其他方法了

Stream流中的常用方法_ limit: 用于截取流中的元素
limit方法可以对流进行截取,只取用前n个。方法签名:
Stream<T> limit(long maxSize);
参数是一个long型, 如果集合当前长度大于参数则进行截取;否则不进行操作
limit方法是一个延迟方法,只是对流中的元素进行截取,返回的是一个新的流,所以可以继续调用Stream流中的其他方法

Sstream流中的常用方法skip:用于跳过元素
如果希望跳过前几个元素,可以使用skip方法获取一个截取之后的新流:
Stream<T> skip(long n);
如果流的当前长度大于n,则跳过前n个;否则将会得到一个长度为的空流。
 

Stream流中的常用方法_ concat:用于把流组合到一起
如果有两个流,希望合并成为一个流,那么可以使用Stream接口的静态方法concat
static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值