Java Arrays.stream()方法

原文:https://www.studytonight.com/java-util/java-arrays-stream-method

在本教程中,我们将在 Java 中探讨Arrays类的stream()方法。此方法从数组中返回指定数据类型的流。它支持各种数据类型,如 double、int、long 和泛型类。让我们看看这个方法的语法和例子。

句法

static datatypeStream stream(datatype[] array)

stream()方法重载方法列表

此表包含stream()方法的所有重载变体。

| 方法 | 描述 | | 静态双流流(双[]数组) | 此方法返回一个以指定数组为源的顺序双流。 | | 静态双流流(双[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围为源的顺序双流。 | | 静态 IntStream 流(int[]数组) | 此方法返回一个以指定数组为源的顺序输入流。 | | 静态 IntStream 流(int[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围作为其源的顺序 IntStream。 | | 静态 LongStream 流(长[]数组) | 此方法返回一个以指定数组为源的顺序长流。 | | 静态长流(长[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围为源的顺序长流。 | | 静态流(T[]数组)</t> | 此方法返回一个以指定数组为源的顺序流。 | | 静态流(T[]数组,int startInclusive,int endExclusive)</t> | 此方法返回一个以指定数组的指定范围为源的顺序流。 |

stream()方法示例

在下面的例子中,我们使用stream()方法将数组arr 转换为字符串流。获得一串字符串后,我们使用forEach 方法打印它。

import java.util.Arrays;
import java.util.stream.Stream;
class StudyTonight{ 
    public static void main(String args[]) 
    {  
        String[] array = { "java", "cpp", "c", "python" }; 
        Stream<String> myStream = Arrays.stream(array); 
        myStream.forEach(str -> System.out.print(str + " ")); 
    }
}

java cpp c python

int 数组转换为流的示例

在下面的例子中,我们使用stream()方法将 int 数组转换成流,为了存储该流,我们有一个特殊的类,即 IntStream,它负责存储整数流。最后,我们在 forEach 方法帮助下打印转换后的 int 数组流。

import java.util.Arrays;
import java.util.stream.IntStream;
class StudyTonight{ 
    public static void main(String args[]) 
    {  
        int[] array = {12, 41, 18, 4, 5, 31}; 
        IntStream  myStream = Arrays.stream(array); 
        myStream.forEach(str -> System.out.print(str + " "));         
    }
}

12 41 18 4 5 31

带数组范围的stream()示例

上面给出的两个例子是相似的,因为它们只是将一个给定的数组转换成一个给定数据类型的流。如果我们想将特定的元素转换成流呢?为此,我们给出了一种特殊的重载方法,通过传递startInclusiveendExclusive 变量来定义数组的范围,只有来自这个特定范围的元素才会被转换为流。

import java.util.Arrays;
import java.util.stream.Stream;
class StudyTonight{ 
    public static void main(String args[]) 
    {  
        String[] array = {"html", "css", "javascript", "java", "cpp", "c", "python" }; 
        Stream<String> myStream = Arrays.stream(array,3,5); 
        myStream.forEach(str -> System.out.print(str + " "));         
    }
}

java cpp

所有重载stream()方法示例

在下面给出的例子中,为了更好地理解stream() 我们一起提到了所有的重载方法。在这个例子中,所有的方法都在有范围和没有范围的情况下被调用

import java.util.Arrays;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import java.util.stream.Stream;
class StudyTonight{ 
    public static void main(String args[]) 
    {  
        //Example: static DoubleStream stream(double[] array)
        double array1[] = {2.2, 3.3, 4.4, 5.5, 6.6};
        DoubleStream doubleStream = Arrays.stream(array1);
        doubleStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example: static DoubleStream stream(double[] array, int startInclusive, int endExclusive)
        doubleStream = Arrays.stream(array1, 1, 3);
        doubleStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example: static IntStream    stream(int[] array)
        int array2[] = {4, 12, 7, 8, 5, 1, 3, 21, 62};
        IntStream intStream = Arrays.stream(array2);
        intStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example: static IntStream    stream(int[] array, int startInclusive, int endExclusive)
        intStream = Arrays.stream(array2,3,7);
        intStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example: static LongStream stream(long[] array)
        long array3[]= {10001, 10002, 10003, 10004, 10005, 10006};
        LongStream longStream =Arrays.stream(array3);
        longStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example:static LongStream    stream(long[] array, int startInclusive, int endExclusive)
        longStream =Arrays.stream(array3, 2, 5);
        longStream.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example: static <T> Stream<T>    stream(T[] array)
        String[] array4 = {"Welcome", "to", "study", "tonight"}; 
        Stream<String> streamString = Arrays.stream(array4); 
        streamString.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

        //Example:static <T> Stream<T>    stream(T[] array, int startInclusive, int endExclusive)
        streamString = Arrays.stream(array4, 0, 2); 
        streamString.forEach(val->System.out.print(val+" "));
        System.out.print("\n");

    }
}

2.2 3.3 4.4 5.5 6.6 3.3 4.4 4 12 7 8 5 1 3 21 62 8 5 1 3 10001 10002 10003 10004 10005 10006 10003 10004 10005 欢迎今晚来学习 欢迎来到

结论:

在本教程中,我们学习了如何使用strem()方法。此方法返回指定数据类型的顺序流。我们还得到了一个特殊的重载方法,我们通过startInclusiveendExclusive 变量来定义数组的范围,只有来自这个特定范围的元素才会被转换成流。