• 技术文章 >java >java基础

    java中Stream创建的方法

    小妮浅浅小妮浅浅2021-01-05 15:13:32原创1780

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

    1.通过Collection

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

    default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }
    default Stream<E> parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }

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

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

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

    2.数组创建Stream

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

    3.静态方法of()

    public static<T> Stream<T> of(T t) {
        return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
    }
    @SafeVarargs
    @SuppressWarnings("varargs") 
    public static<T> Stream<T> of(T... values) {
        return Arrays.stream(values);
    }

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

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

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

    以上就是java中创建Stream的几种方法,这几种方法比较常见,使用起来操作难度也不是很大,想要了解其他方法的可以在课后进行搜索。

    专题推荐:java,stream创建
    品易云
    上一篇:Stream函数在java中的使用 下一篇:java Stream结合函数方法

    相关文章推荐

    • java管道流发送线程• 对象流在java中的读写• java数据流的工作原理• java数据流的高级用法• java压缩流的压缩与解压• Stream函数在java中的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网