📅  最后修改于: 2023-12-03 15:22:25.652000             🧑  作者: Mango
在Java 8中,流(Stream)是一个非常强大的概念。它允许我们以非常简单的方式操作集合中的元素。但是,有时可能需要将流的结果转换为数组。在这种情况下,Java中的流式传输toArray()方法可以派上用场。
toArray()方法是Java流Stream接口的一个方法,它的主要作用是将流的结果转换为数组。该方法有多个重载方式,可以带有参数或者不带参数。
不带参数的toArray()方法的原型如下:
Object[] toArray();
这个方法将执行以下操作:
示例代码:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Object[] numberArray = numbers.stream().toArray();
toArray()方法还可以带有一个参数:
<T> T[] toArray(T[] a);
该方法执行以下操作:
示例代码:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Integer[] numberArray = numbers.stream().toArray(Integer[]::new);
下面是一个使用示例,演示如何使用带参数的toArray()方法将Java流Stream的结果转换为数组:
import java.util.Arrays;
import java.util.List;
public class StreamToArrayExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用不带参数的toArray()方法将流的结果转换为Object数组
Object[] numberArray1 = numbers.stream().toArray();
System.out.println("Object array:");
for (Object number : numberArray1) {
System.out.println(number);
}
// 使用带参数的toArray()方法将流的结果转换为Integer数组
Integer[] numberArray2 = numbers.stream().toArray(Integer[]::new);
System.out.println("Integer array:");
for (Integer number : numberArray2) {
System.out.println(number);
}
}
}
输出结果:
Object array:
1
2
3
4
5
Integer array:
1
2
3
4
5
toArray()方法是Java流Stream接口的一个方法,用于将流的结果转换为数组。它可以带有参数或者不带参数。带参数的toArray()方法将创建一个具有相同类型的数组,并将流中的元素复制到该数组中。如果数组足够大,则将流中的元素复制到该数组中,否则将创建一个新的数组。因此,我们可以像示例代码中一样使用toArray()方法将流的结果转换为所需类型的数组。