一、使用Arrays.asList()方法
Java中的Arrays类提供了一个静态方法asList(),使用它可以将数组转换为List。这个方法需要一个数组作为参数,并返回一个List对象。
//演示代码 String[] strArray = {"Java", "C++", "Python"}; ListstrList = Arrays.asList(strArray);
需要注意的是,asList()方法返回的List对象虽然有add()、remove()等方法,但是它们是不支持的,因为这个List是一个不可变的List。如果需要对转换后的List进行增删操作,可以将它转换为可变的List。如下所示:
//演示代码 String[] strArray = {"Java", "C++", "Python"}; ListstrList = new ArrayList<>(Arrays.asList(strArray));
二、使用List.addAll()方法
除了使用Arrays.asList()方法之外,我们也可以手动遍历数组,一个一个地添加到List中。这种方式相对来说比较麻烦,但是能够更好地理解。
//演示代码 String[] strArray = {"Java", "C++", "Python"}; ListstrList = new ArrayList<>(); for (int i = 0; i < strArray.length; i++) { strList.add(strArray[i]); }
三、使用stream流
在Java 8中,引入了stream流,通过它可以简单地将数组转换成List。这种方式比前两种方式更为简洁,适合处理大规模的数据。
//演示代码 String[] strArray = {"Java", "C++", "Python"}; ListstrList = Stream.of(strArray).collect(Collectors.toList());
四、遍历转换后的List
我们已经将数组转换成了List,接下来,我们可以像处理普通List一样来处理转换后的List。例如,可以使用foreach循环遍历List中的元素。
//演示代码 String[] strArray = {"Java", "C++", "Python"}; ListstrList = 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。