一数组转集合,Arrays.asList,
为什么要把数组转成集合呢?
可以使用集合里面的方法和思想来操作数组,
注意:集合里面的增删方法不能用了,例如:add ,会出现UnsupportedOperationException。
因为数组的长度是固定的。
List<String> list = Arrays.asList(arr);
sop("contains:"+list.contains("cc"));
List<int []> li = Arrays.asList(nums);
如果数组中的元素都是对象,变成集合时,数组中的对象就直接作为集合中的元素存在。
如果数组中的元素都是基本类型,变成集合时,那么会将该数组作为集合中的元素存在。
Integer [] nums ={2,4,5};
List<Integer> li = Arrays.asList(nums);
sop(li);
2集合边数组、
Collection接口中的toArray方法。
1,指定类型的数组到底指定多长呢?
当指定类型的数组长度小于了集合的size,
那么该方法内部会创建一个新的数组,长度为集合的Size。
当指定类型的数组长度大于了集合的size就ibu会新创建数组,而是使用传递进来的数组。
所有创建一个刚刚好的数组最优。
2,为什么要将集合变数组啊?
为了限定对元素的操作。不需要进行增删了。
ArrayList<String> al = new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
String [] arr =al.toArray(new String[al.size()]);
sop(Arrays.toString(arr));