java集合(3)-Java8新增的Stream操作集合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java集合(3)-Java8新增的Stream操作集合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2303字,纯文字阅读大概需要4分钟。
内容图文
![java集合(3)-Java8新增的Stream操作集合](/upload/InfoBanner/zyjiaocheng/857/db3253b5e70d46399083fa6e0d5fcbbc.jpg)
Java8新增了Stream,IntStream,LongStream,DoubleStream等流式API,这些API代表多个支持串行和并行聚集操作的元素.上面的4个接口中,Stream是一个通用的流接口,而IntStream,LongStream,DoubleStream则代表元素类型为int,long,double的流.
Java8还为上面的每个流式API提供了对应的Builder,例如Stream.Builder,IntStream.Builder,LongStream.Builder,DoubleStream.Builder,开发者可以通过这些Builder来创建对应的流.
独立使用Stream的步骤如下:
1.使用Stream或者XxxStream的builder()类方法创建该流的Stream对应的Builder.
2.重复调用Builder的add()方法向该流中添加多个元素.
3.调用Builder的build()方法获取对应的Stream.
4调用Stream的聚集方法.
package com.j1803.collectionOfIterator; import java.util.stream.IntStream; public class IntStreamTest { public static void main(String[] args) {
//下面调用的聚集方法的代码每次只能执行一次 IntStream is1= IntStream.builder().add(4).add(56).add(67).build(); System.out.println("is1所有的元素的最大值:"+is1.max().getAsInt()); System.out.println("is1的所有元素的最小值:"+is1.min().getAsInt()); System.out.println("is1的所有元素的和"+is1.sum()); System.out.println("is1的所有元素的个数:"+is1.count()); System.out.println("is1的所有元素的平均值"+is1.average()); System.out.println("is1的所有元素的平方是否都大于20"+is1.allMatch(ele->ele*ele>20)); System.out.println("is1的任一元素的平方是否都大于20"+is1.anyMatch(ele->ele*ele>20)); //将is1映射成一个新的Stream,新的Stream的每个元素是原来Stream元素的2倍+_1 IntStream newIs1=is1.map(ele->ele*2+1); //使用方法引用的方式来遍历集合元素 newIs1.forEach(System.out::println); } } is1的所有元素的和127 Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed at java.util.stream.AbstractPipeline.<init>(AbstractPipeline.java:203) at java.util.stream.LongPipeline.<init>(LongPipeline.java:91) at java.util.stream.LongPipeline$StatelessOp.<init>(LongPipeline.java:572) at java.util.stream.IntPipeline$5.<init>(IntPipeline.java:261) at java.util.stream.IntPipeline.mapToLong(IntPipeline.java:260) at java.util.stream.IntPipeline.count(IntPipeline.java:429) at com.j1803.collectionOfIterator.IntStreamTest.main(IntStreamTest.java:11) Process finished with exit code 1
上面程序创建了一个IntStream,接下来分别多次调用IntStream的聚集方法执行操作,这样即可获取该流的相关信息.注意:上面的粗体代码一次只能执行一行,因此需要把其他的粗体字代码注释掉.
内容总结
以上是互联网集市为您收集整理的java集合(3)-Java8新增的Stream操作集合全部内容,希望文章能够帮你解决java集合(3)-Java8新增的Stream操作集合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。