asList()的使用
String[] arr = {"abc","ccc","ddd"};
/*把数组变成list集合的好处?
* 可以使用集合的思想和方法来操作数组中的元素
* 注意:将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的
* 如果增删了,那么会发生不支持操作异常
*/
List<String> list = Arrays.asList(arr);
//list.add("qq"); 不可用
/*
* 如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素;
* 如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。
* */
int[] nums = {2,3,4}; //int是基本数据类型,
List<int[]> li = Arrays.asList(nums);
System.out.println(li);//讲nums数组作为集合中的一个元素,而不是将2、3、4作为集合的元素。
//使用包装类既可将数组中的元素装入集合中。
Integer[] nums2 = {2,5,3};
List<Integer> li2 = Arrays.asList(nums2);
Character[] cha = {'a','d','s'};
List<Character> chaList = Arrays.asList(cha);
System.out.println(chaList);
注意
-
Arrays.asList()把数组转换成集合时,不能使用其修改集合的相关方法,他的add/remove/clear方法都会抛出UnsupportedOperationException异常。
-
asList()的返回对象是一个Arrays内部类,并没有实现集合的修改方法。所以,如果需要修改集合,要在转换之前操作。在你转换后,再对数组的值进行修改,集合也会跟着变化。
-
将数组转换为集合并可以使用集合方法:
List list = new ArrayList(Arrays.asList(str));
当然也可以使用for循环的方式进行遍历数组,在使用add()方式放进集合。