您的位置:

Java中将Array转为List的方法

Java作为一种面向对象编程语言,常常需要使用集合类对数据进行管理。而在实际开发中,我们经常需要将数组转换成List,对于Java初级工程师来说这是一个基础问题,下面我们将从多个方面对Java中将Array转为List的方法进行详细的阐述。

一、使用Arrays.asList()

Java中提供了一个Arrays类,该类提供了许多操作数组的方法,例如asList()方法可以将数组转换为ArrayList。

String[] array = {"Hello", "World", "Java"};
List list = Arrays.asList(array);

  

这里需要注意,Arrays.asList()方法返回的是一个固定大小的List,不能执行add()、remove()等操作,否则会抛出UnsupportedOperationException异常。

二、使用ArrayList的构造器

ArrayList是List接口的一种实现,我们可以通过它的构造器将数组转为List。

String[] array = {"Hello", "World", "Java"};
List list = new ArrayList<>(Arrays.asList(array));

  

这里的ArrayList的构造器接收一个Collection类型的参数,Arrays.asList()返回的正好是这个类型,所以可以直接传入。

三、使用Collections.addAll()

Collections类提供了一系列静态方法,用于操作集合,addAll()方法可以将指定数组的所有元素添加到指定集合中。

String[] array = {"Hello", "World", "Java"};
List list = new ArrayList<>();
Collections.addAll(list, array);

  

这种方式比较灵活,可以添加多个数组。

四、手动遍历数组

在Java 8之前,我们可以手动遍历数组并将其添加到List当中,示例代码如下:

String[] array = {"Hello", "World", "Java"};
List list = 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"};
        List list1 = 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);
    }
}