如何用 java 将流转换成数组

原文:https://www.studytonight.com/java-examples/how-to-convert-stream-to-an-array-in-java

在这篇文章中,我们将学习流到数组的转换。流是一个元素序列,它允许我们以函数方式执行操作,而数组是一个存储类似类型元素的对象。

在这里,我们有一些例子,我们将流转换为一个原始值数组。

举例时间:

让我们创建一个将流转换成数组的例子。这里,我们使用IntStreamrangeClosed()方法创建一个整数序列,然后使用toArray()方法转换成一个数组。

import java.util.stream.IntStream;
public class Main {
    public static void main(String[] args){  
        IntStream integerStream = IntStream.rangeClosed(1, 5);
        // Convert stream into Array
        int[] arr = integerStream.toArray();
        for(int e:arr) {
            System.out.println(e);
        }        
    }
}

1 2 3 4 5

另一个例子的时间:

让我们再举一个例子,从流中获取数组。这里,我们从一个列表中创建了一个流,并通过指定数组的类型使用toArray()方法进行了转换。另一方面,我们也将数组转换为流,这样如果需要的话,我们就可以得到以前类型的元素。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class Main {
    public static void main(String[] args){  
        Stream<String> stream = List.of("UK", "US", "BR").stream();
        // Convert string stream into string array
        String[] strArray = stream.toArray(String[]::new);
        for(String str : strArray) {
            System.out.println(str);
        }
        System.out.println("\nAfter conversion to array:");
        // Array to stream conversion
        Stream<String> stringStream = Arrays.stream(strArray);
        stringStream.forEach(System.out::println);

    }
}

英国 美国 BR T4【转换成阵后: 英国 美国 BR