zoukankan      html  css  js  c++  java
  • Java 8 Stream 的 五种创建方式

    Java 8 Stream 的 五种创建方式


    1、Stream 的五种创建方式

    1)通过数组创建

    2)通过列表创建

    3)通过 Stream.generate 方法创建

    4)通过 Stream.iterate 方法创建

    5)通过其他 API 创建

    2、示例代码

    代码如下:

    package mirale.luna.lambda.stream;
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Stream;
    
    /**
     * Created by Miracle Luna on 2020/12/23
     */
    public class CreateStream {
        public static void main(String[] args) {
    
            System.out.println("==================方式1=================");
            // 方式1:数组创建
            Integer[] intArr = {1,2,3,4,5,6};
            Stream stream1 = Stream.of(intArr);
            stream1.forEach(System.out::println);
    
            System.out.println("
    ==================方式2=================");
    
            // 方式2:列表创建
            List<String> strings = Arrays.asList("Java", "Go", "Python", "Vue");
            Stream stream2 = strings.stream();
            stream2.forEach(System.out::println);
    
            System.out.println("
    ==================方式3=================");
    
            // 方式3:Stream.generate 创建
            Stream stream3 = Stream.generate(()-> 1);
            stream3.limit(3).forEach(System.out::println);
    
            System.out.println("
    ==================方式4=================");
    
            // 方式4:Stream.iterate 创建
            Stream stream4 = Stream.iterate(1, i -> i+1);
            stream4.limit(4).forEach(System.out::println);
    
            System.out.println("
    ==================方式5=================");
    
            // 方式5:其他API 创建
            stream1 = Stream.of(intArr);
            stream2 = strings.stream();
            Stream stream5 = Stream.concat(stream1, stream2);
            stream5.forEach(System.out::println);
        }
    }

    运行结果如下:

    ==================方式1=================
    1
    2
    3
    4
    5
    6
    
    ==================方式2=================
    Java
    Go
    Python
    Vue
    
    ==================方式3=================
    1
    1
    1
    
    ==================方式4=================
    1
    2
    3
    4
    
    ==================方式5=================
    1
    2
    3
    4
    5
    6
    Java
    Go
    Python
    Vue
  • 相关阅读:
    164 Maximum Gap 最大间距
    162 Find Peak Element 寻找峰值
    160 Intersection of Two Linked Lists 相交链表
    155 Min Stack 最小栈
    154 Find Minimum in Rotated Sorted Array II
    153 Find Minimum in Rotated Sorted Array 旋转数组的最小值
    152 Maximum Product Subarray 乘积最大子序列
    151 Reverse Words in a String 翻转字符串里的单词
    bzoj3994: [SDOI2015]约数个数和
    bzoj 4590: [Shoi2015]自动刷题机
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/14208506.html
Copyright © 2011-2022 走看看