Java8-Stream-终止操作-查找与匹配

终止操作是流操作的最后一步,只有当终止操作出现的时候,其他中间操作才会真正被执行。有如下一些终止操作:

该部分属于查找与匹配

allMatch(Predicate p)        :检查是否匹配所有元素
anyMatch(Predicate p)      :检查是否至少匹配一个元素
noneMatch(Predicate p)    :检查是否没有匹配所有元素
findFirst()                           :返回第一个元素
findAny()                            :返回当前流中的任意元素

该部分属于统计

count()                               :返回流中元素总数
max(Comparator c)           :返回流中最大值
min(Comparator c)            :返回流中最小值

forEach(Consumer c) 内部迭代(使用 Collection 接口需要用户去做迭代,称为外部迭代。相反,Stream API 使用内部迭代——它帮你把迭代做了)

终端操作会从流的流水线生成结果。其结果可以是任何不是流的值,例如:List、Integer,甚至是 void 。

拿count举例:

	@Test
	public void test4() {
		//flatMap类型:将为每个元素创建一个流,并最终合并成一个流
		List<List> lp = new ArrayList();
		for(int i=0;i<3;i++) {
			List<Double> lc = new ArrayList();
			for(int j=0;j<10;j++) {
				lc.add(Math.random());
			}
			lp.add(lc);
		}
		System.out.println(lp.stream().flatMap((x)->x.stream()).count());
		//lp.stream().flatMap((x)->x.stream()).forEach(System.out::println);
	}

 

转载于:https://my.oschina.net/u/3049601/blog/1623572

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值