使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一致、长度为0的空数组。
List list = new ArrayList<>(2);
list.add(1);
list.add(2);
list.add(3);
//创建长度为0的数组为最佳。
Integer[] array = list.toArray(new Integer[0]);
for(int i=0;i
System.out.println(array[i]);
}
数组空间大小的length:
1、 等于0,动态创建与size相同的数组,性能最好。
2、 大于0但小于size,重新创建大小等于size的数组,增加GC负担。
3、 等于size,在高并发情况下,数组创建完成之后,size正在变大的情况下,负面影响与上相同。
4、 大于size,空间浪费,且在size处插入null值,存在空指针隐患。