java中Stream创建的方法

有些人觉得Stream和IO流中的一些类很相似,其实二者没有什么关系。我们使用Stream更多是为了提高程序和代码的效率。在之前已经将讲过集合创建Stream的办法,其实还有一些别的方式可以创建Stream,比如Collection、数组、静态方法of(),下面就这些创建的方法分别带来详细讲解。

1.通过Collection

在Java8中,Collection 接口被扩展,提供了两个获取流的默认方法,如下所示。

defaultStream<E>stream(){
returnStreamSupport.stream(spliterator(),false);
}
defaultStream<E>parallelStream(){
returnStreamSupport.stream(spliterator(),true);
}

其中,stream()方法返回一个顺序流,parallelStream()方法返回一个并行流。

我们可以使用如下代码方式来创建顺序流和并行流。

List<String>list=newArrayList<>();
list.stream();
list.parallelStream();

2.数组创建Stream

@Test
publicvoidtest2(){
//获取一个整形Stream
int[]arr=newint[]{1,2,34,4,65,7,87,};
IntStreamintStream=Arrays.stream(arr);
//获取一个Student对象Stream
Student[]students=StudentData.getArrStudents();
Stream<Student>stream=Arrays.stream(students);
}

3.静态方法of()

publicstatic<T>Stream<T>of(Tt){
returnStreamSupport.stream(newStreams.StreamBuilderImpl<>(t),false);
}
@SafeVarargs
@SuppressWarnings("varargs")
publicstatic<T>Stream<T>of(T...values){
returnArrays.stream(values);
}

可以看到,在Stream类中,提供了两个of()方法,一个只需要传入一个泛型参数,一个需要传入一个可变泛型参数。

我们可以使用下面的代码示例来使用of方法创建一个Stream流。

Stream<String>strStream=Stream.of("a","b","c");

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容