一、Java中數組轉換為List的基本使用方法
Java中提供了不少將數組轉成List的方法,最常用的是Arrays.asList()方法,它可以把數組轉成List集合對象,基本語法如下:
List<TYPE> list = Arrays.asList(array);
其中,TYPE表示數組元素類型,array表示提供的數組,list即為轉換後得到的List對象。
值得注意的是:由於Arrays.asList()方法底層數據的存儲結構仍然是數組,所以在轉換後的List對象使用一些List特性時可能會出現不同的結果。
二、Java中數組轉換為List的細節問題
Arrays.asList()方法有一些需要注意的地方:
1、基本數據類型數組在使用Arrays.asList()方法轉換時需要使用到包裝類,例如:
int[] array = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
2、由於Arrays.asList()方法底層數據的存儲結構仍然是數組,所以在轉換後的List對象使用一些List特性時可能會出現不同的結果。
例如:
String[] array = {"a", "b", "c"}; List<String> list = Arrays.asList(array); list.set(0, "aa"); System.out.println(Arrays.toString(array)); //輸出結果:["aa", "b", "c"]
由於Arrays.asList()方法底層數據的存儲結構仍然是數組,所以在修改轉換後的List對象時,原數組也會隨之被修改。
三、Java中數組轉換為List的其他方法
除了Arrays.asList()方法外,Java中還提供了其他數組轉換為List的方法,例如:
1、使用Collections.addAll()方法:
String[] array = {"a", "b", "c"}; List<String> list = new ArrayList<>(); Collections.addAll(list, array);
2、使用Arrays.stream()方法:
String[] array = {"a", "b", "c"}; List<String> list = Arrays.stream(array).collect(Collectors.toList());
多數情況下,使用Arrays.asList()方法已經可以滿足需求,但其他方法在特定場景下也有其優勢。
四、Java中數組轉換為List的應用場景
數組轉換為List的常見應用場景有:
1、數組轉換為List用於方法的參數傳遞
例如:
public void method(List<String> list) { //TODO } String[] array = {"a", "b", "c"}; method(Arrays.asList(array));
2、數組轉換為List用於集合操作
例如:
String[] array = {"a", "b", "c"}; List<String> list = Arrays.asList(array); list.forEach(System.out::println);
五、Java中數組轉換為List的示例代碼
public class ArrayToListDemo { public static void main(String[] args) { //使用Arrays.asList()方法 Integer[] intArray = {1, 2, 3, 4, 5}; List<Integer> intList = Arrays.asList(intArray); System.out.println(intList); String[] strArray = {"a", "b", "c"}; List<String> strList = Arrays.asList(strArray); System.out.println(strList); //使用Collections.addAll()方法 List<String> list1 = new ArrayList<>(); Collections.addAll(list1, strArray); System.out.println(list1); //使用Arrays.stream()方法 List<String> list2 = Arrays.stream(strArray).collect(Collectors.toList()); System.out.println(list2); } }
原創文章,作者:LOJM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/133089.html