您的位置:

Java数组转List

一、基本概念

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"};
List list = Arrays.asList(array);

  

上面的代码将一个字符串数组转换为一个字符串类型的List。

三、使用Collections.addAll()方法

在Java中,通过Collections.addAll()方法可以将数组元素添加到List中。这个方法可以接受两个参数:要添加元素的List和要添加的元素数组。

String[] array = {"apple", "banana", "orange"};
List list = new ArrayList
   ();
Collections.addAll(list, array);

   
  

上面的代码将一个字符串数组的所有元素添加到一个新创建的List对象中。

四、Arrays.asList()方法的限制

需要注意的是,Arrays.asList()方法返回的List不支持添加和删除操作。如果尝试对这个List进行添加或删除操作,就会抛出UnsupportedOperationException异常。

String[] array = {"apple", "banana", "orange"};
List list = Arrays.asList(array);
list.add("pear"); // 会抛出UnsupportedOperationException异常

  

如果需要添加或删除元素,可以先将这个List进行拷贝,然后再进行修改操作,如下所示:

String[] array = {"apple", "banana", "orange"};
List list = new ArrayList
   (Arrays.asList(array));
list.add("pear"); // 添加元素成功

   
  

五、总结

Java数组和List之间的转换是非常常见的操作,Arrays.asList()方法和Collections.addAll()方法都可以实现这种转换。需要注意的是,通过Arrays.asList()方法转换出来的List不支持添加和删除操作,需要进行拷贝后再进行修改操作。