您的位置:

Java数组如何转换为List

一、使用Arrays.asList()方法

Java中的Arrays类提供了一个静态方法asList(),使用它可以将数组转换为List。这个方法需要一个数组作为参数,并返回一个List对象。

//演示代码
String[] strArray = {"Java", "C++", "Python"};
List strList = Arrays.asList(strArray);

  

需要注意的是,asList()方法返回的List对象虽然有add()、remove()等方法,但是它们是不支持的,因为这个List是一个不可变的List。如果需要对转换后的List进行增删操作,可以将它转换为可变的List。如下所示:

//演示代码
String[] strArray = {"Java", "C++", "Python"};
List strList = new ArrayList<>(Arrays.asList(strArray));

  

二、使用List.addAll()方法

除了使用Arrays.asList()方法之外,我们也可以手动遍历数组,一个一个地添加到List中。这种方式相对来说比较麻烦,但是能够更好地理解。

//演示代码
String[] strArray = {"Java", "C++", "Python"};
List strList = new ArrayList<>();
for (int i = 0; i < strArray.length; i++) {
    strList.add(strArray[i]);
}

  

三、使用stream流

在Java 8中,引入了stream流,通过它可以简单地将数组转换成List。这种方式比前两种方式更为简洁,适合处理大规模的数据。

//演示代码
String[] strArray = {"Java", "C++", "Python"};
List strList = Stream.of(strArray).collect(Collectors.toList());

  

四、遍历转换后的List

我们已经将数组转换成了List,接下来,我们可以像处理普通List一样来处理转换后的List。例如,可以使用foreach循环遍历List中的元素。

//演示代码
String[] strArray = {"Java", "C++", "Python"};
List strList = Arrays.asList(strArray);
for (String str : strList) {
    System.out.println(str);
}

  

五、总结

本文介绍了Java数组如何转换为List的三种方式:使用Arrays.asList()方法、使用List.addAll()方法和使用stream流。其中,Arrays.asList()方法是最常用的一种方式,不过需要注意返回的List是不可变的,需要转换为可变的List才能进行增删操作。List.addAll()方法比较繁琐,但是比较容易理解。使用stream流可以快速转换大规模的数据,是一种比较简洁的方式。最后,我们还介绍了如何遍历转换后的List。