为什么要将集合转换为数组呢?
-------因为可以对集合中的元素操作的方法进行限定。不允许对其进行增删。
使用的就是Collection接口中的toArray方法。数组转集合用的是arrays工具类的方法,而集合转数组用的是集合本身的方法。
例如
List<String> list = new ArrayList<String>(); //定义字符串集合,添加元素
list.add("abc1");
list.add("abc2");
list.add("abc3");
String[] arr = list.toArray(new String[list.size()]);
//将集合转为数组,将不能再增删元素。
System.out.println(Arrays.toString(arr));
注意:
toArray方法需要传入一个指定类型的数组。长度该如何定义呢?如果长度小于集合的size,那么该方法会创建一个同类型并和集合相同size的数组。如果长度大于集合的size,那么该方法就会使用指定的数组,存储集合中的元素,其他位置默认为null。
所以建议,最后长度就指定为,集合的size。