一、使用Arrays.asList()
Java中提供了一个Arrays类,该类提供了许多操作数组的方法,例如asList()方法可以将数组转换为ArrayList。
String[] array = {"Hello", "World", "Java"}; Listlist = Arrays.asList(array);
这里需要注意,Arrays.asList()方法返回的是一个固定大小的List,不能执行add()、remove()等操作,否则会抛出UnsupportedOperationException异常。
二、使用ArrayList的构造器
ArrayList是List接口的一种实现,我们可以通过它的构造器将数组转为List。
String[] array = {"Hello", "World", "Java"}; Listlist = new ArrayList<>(Arrays.asList(array));
这里的ArrayList的构造器接收一个Collection类型的参数,Arrays.asList()返回的正好是这个类型,所以可以直接传入。
三、使用Collections.addAll()
Collections类提供了一系列静态方法,用于操作集合,addAll()方法可以将指定数组的所有元素添加到指定集合中。
String[] array = {"Hello", "World", "Java"}; Listlist = new ArrayList<>(); Collections.addAll(list, array);
这种方式比较灵活,可以添加多个数组。
四、手动遍历数组
在Java 8之前,我们可以手动遍历数组并将其添加到List当中,示例代码如下:
String[] array = {"Hello", "World", "Java"}; Listlist = new ArrayList<>(); for (String s : array) { list.add(s); }
虽然这种方式比较繁琐,但其有一定的参考价值,能让读者更好地理解集合类的常规操作。
五、总结
以上五中方法都可以将数组转为List,但不同的方法适用于不同的场景。推荐使用Arrays.asList()和ArrayList的构造器,它们的效率和简洁性都比较高。
最后附上完整代码:
import java.util.*; public class ArrayToListDemo { public static void main(String[] args) { // 1.使用Arrays.asList() String[] array1 = {"Hello", "World", "Java"}; Listlist1 = Arrays.asList(array1); // 2.使用ArrayList的构造器 String[] array2 = {"Hello", "World", "Java"}; List list2 = new ArrayList<>(Arrays.asList(array2)); // 3.使用Collections.addAll() String[] array3 = {"Hello", "World", "Java"}; List list3 = new ArrayList<>(); Collections.addAll(list3, array3); // 4.手动遍历数组 String[] array4 = {"Hello", "World", "Java"}; List list4 = new ArrayList<>(); for (String s : array4) { list4.add(s); } // 输出结果 System.out.println(list1); System.out.println(list2); System.out.println(list3); System.out.println(list4); } }