Java教程

Java8 Stream(二):Stream创建

本文主要是介绍Java8 Stream(二):Stream创建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

三、Stream创建

​ Stream常见的有4中方法创建。

  1. 使用Collection下的 stream() 和 parallelStream() 方法

    //1、使用Collection下的 stream() 和 parallelStream() 方法
    // 创建一个顺序流
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
    Stream<Integer> stream = list.stream();
    // 创建一个并行流
    Stream<Integer> parallelStream = list.parallelStream();
    
    //输出
    System.out.println("1");
    System.out.println("使用Collection.stream");
    stream.forEach(System.out::print);
    System.out.println();
    System.out.println("使用Collection.parallelStream");
    parallelStream.forEach(System.out::print);
    System.out.println();
    
  2. 使用Arrays 中的 stream() 方法,将数组转成流

    //2、使用Arrays 中的 stream() 方法,将数组转成流
    Integer[] array = {1, 2, 3, 4, 5, 6};
    Stream stream = Arrays.stream(array);
    
    //输出
    System.out.println("2");
    System.out.println("使用Arrays.stream");
    stream.forEach(System.out::print);
    System.out.println();
    
  3. 使用Stream中的静态方法:of()、iterate()、generate()

    //3、使用Stream中的静态方法:of()、iterate()、generate()
    //Stream.of用于为给定元素创建顺序流。我们可以传递单个元素或多个元素。
    Stream<Integer> stream1 = Stream.of(1, 2, 3, 4, 5, 6);
    
    //Stream.iterate指定一个常量seed,生成从seed到常量f
    //根据起始值seed(0),每次生成一个指定递增值(n+2)的数,limit(6)用于截断流的长度,即只获取前6个元素。
    Stream<Integer> stream2 = Stream.iterate(0, x -> x + 2).limit(6);
    
    //Stream.generate返回一个新的无限顺序无序的流
    //返回一个无限连续的无序流,其中每个元素由提供的供应商(Supplier)生成。generate方法用于生成常量流和随机元素流。
    Stream<Integer> stream3 = Stream.generate(() -> new Random().nextInt(10)).limit(6);
    
    //输出
    System.out.println("3");
    System.out.println("使用Stream.of");
    stream1.forEach(System.out::print);
    System.out.println();
    
    System.out.println("使用Stream.iterate");
    stream2.forEach(System.out::print);
    System.out.println();
    
    System.out.println("使用Stream.generate");
    stream3.forEach(System.out::print);
    System.out.println();
    
  4. 使用 Pattern.splitAsStream() 方法,将字符串分隔成流

    //4、使用 Pattern.splitAsStream() 方法,将字符串分隔成流
    Pattern pattern = Pattern.compile(",");
    Stream<String> stream = pattern.splitAsStream("1,2,3,4,5,6");
    
    //输出
    System.out.println("4");
    System.out.println("Pattern.splitAsStream");
    stream.forEach(System.out::print);
    System.out.println();
    
这篇关于Java8 Stream(二):Stream创建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!