liststream的toArray方法案例详解
Java 8中的List接口新增了一个stream()方法,可以返回一个Stream对象,可以通过这个对象进行一系列的操作,比如过滤、排序、映射等。而Stream对象中还有一个toArray()方法,可以将流中的元素转换成数组。下面通过一个案例来详细介绍该方法的使用。
案例描述:
有一个装着整数的List集合,现在需要将这个集合中的元素转换成一个数组,并对数组进行排序。
代码实现:
首先创建一个装着整数的List集合:
List
然后通过stream()方法将集合转换成一个Stream对象:
Integer[] arr = list.stream().toArray(Integer[]::new);
toArray()方法的参数是一个IntFunction类型的函数式接口,它的作用是根据传入的长度创建一个数组,并将Stream对象中的元素转换成数组的元素。
这里使用了一个Integer[]::new的方法引用,表示创建一个长度为Stream对象中元素个数的Integer类型数组。
最后对数组进行排序:
Arrays.sort(arr);
完整代码:
import java.util.ArrayList; import java.util.Arrays; import java.util.List;
public class Test {
public static void main(String[] args) {
List
Integer[] arr = list.stream().toArray(Integer[]::new);
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
输出结果:
[1, 2, 3, 5, 9]
说明toArray()方法已经将集合中的元素转换成了一个数组,并且数组已经按照从小到大的顺序排好序了
原文地址: http://www.cveoy.top/t/topic/filD 著作权归作者所有。请勿转载和采集!