- 阿里规约
4.【强制】使用集合转数组的方法,必须使用集合的toArray(T[]array),传入的是类型完全一样的数组,大小就是list.size()。
说明:使用toArray带参方法,入参分配的数组空间不够大时,toArray方法内部将重新分配内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[list.size()]的数组元素将被置为null,其它数组元素保持原值,因此最好将方法入参数组大小定义与集合元素个数一致。
数组转集合
Integer[] arr = {2,4,6,8,10};
//方式一:最常用转换(推荐)
List<Integer> list1 = Arrays.asList(arr);
//方式二:使用stream转换
List<Integer> list2 = Arrays.stream(arr).collect(Collectors.toList());
集合转数组
List<Integer> lst = new ArrayList<>();
lst.add(1);
lst.add(3);
lst.add(5);
lst.add(7);
lst.add(9);
//方式一:指定数组长度转换(推荐)
Integer[] array1 = lst.toArray(new Integer[lst.size()]);
//方式二:不指定数组长度转换
Integer[] array2 = lst.toArray(new Integer[]{});
//方式三:使用stream转换
Integer[] array3 = lst.stream().toArray(Integer[]::new);