一、基本概念
Java数组是一种基本的数据结构,它可以用来存储一组相同类型的数据。而List则是Java中常用的集合类型,它可以动态地保存不同类型的对象。Java数组和List之间的互相转换是非常常见的操作。
在Java中,数组和List之间的转换可以通过以下两种方式实现:
- 使用Arrays.asList()方法将数组转换为List。
- 使用Collections.addAll()方法将数组元素添加到List中。
二、使用Arrays.asList()方法
在Java中,Arrays.asList()方法可以将数组转换为List。这个方法接受一个可变参数,并返回一个包含数组元素的List对象。
String[] array = {"apple", "banana", "orange"}; Listlist = Arrays.asList(array);
上面的代码将一个字符串数组转换为一个字符串类型的List。
三、使用Collections.addAll()方法
在Java中,通过Collections.addAll()方法可以将数组元素添加到List中。这个方法可以接受两个参数:要添加元素的List和要添加的元素数组。
String[] array = {"apple", "banana", "orange"}; Listlist = new ArrayList (); Collections.addAll(list, array);
上面的代码将一个字符串数组的所有元素添加到一个新创建的List对象中。
四、Arrays.asList()方法的限制
需要注意的是,Arrays.asList()方法返回的List不支持添加和删除操作。如果尝试对这个List进行添加或删除操作,就会抛出UnsupportedOperationException异常。
String[] array = {"apple", "banana", "orange"}; Listlist = Arrays.asList(array); list.add("pear"); // 会抛出UnsupportedOperationException异常
如果需要添加或删除元素,可以先将这个List进行拷贝,然后再进行修改操作,如下所示:
String[] array = {"apple", "banana", "orange"}; Listlist = new ArrayList (Arrays.asList(array)); list.add("pear"); // 添加元素成功
五、总结
Java数组和List之间的转换是非常常见的操作,Arrays.asList()方法和Collections.addAll()方法都可以实现这种转换。需要注意的是,通过Arrays.asList()方法转换出来的List不支持添加和删除操作,需要进行拷贝后再进行修改操作。