一、使用Arrays類的asList方法
Java提供了Arrays類的asList方法,可以將數組轉換成列表。這個方法的參數為數組。該方法返回的List集合是Arrays內部類ArrayList,不是Java.util包下的ArrayList,因此不能進行添加和刪除元素。
Integer[] arr = new Integer[]{1, 2, 3}; List list = Arrays.asList(arr); System.out.println(list);
輸出結果為:[1, 2, 3]
當使用基本數據類型(如int)時,使用Arrays.asList()會返回List,而不是List。可以通過IntStream類將int數組轉為List。
int[] arr = new int[]{1, 2, 3}; List list = Arrays.stream(arr).boxed().collect(Collectors.toList()); System.out.println(list);
輸出結果為:[1, 2, 3]
二、使用Collections.addAll方法
另一個將數組轉換為列表的方法是使用Collections.addAll()。該方法需要先創建空列表,再通過addAll方法將數組添加到列表中。
Integer[] arr = new Integer[]{1, 2, 3}; List list = new ArrayList(); Collections.addAll(list, arr); System.out.println(list);
輸出結果為:[1, 2, 3]
三、使用循環遍歷
如果不想使用Java提供的類庫,也可以通過循環遍歷的方式將數組轉換為列表。需要先創建空列表,然後通過循環將數組元素添加到列表中。
Integer[] arr = new Integer[]{1, 2, 3}; List list = new ArrayList(); for (int i = 0; i < arr.length; i++) { list.add(arr[i]); } System.out.println(list);
輸出結果為:[1, 2, 3]
四、注意事項
需要注意的是,使用Arrays.asList()和Collections.addAll()方法無法增加或減少List集合中元素的個數。如果要進行添加/刪除操作,需要轉換為可變長的ArrayList集合。
如下代碼會出現UnsupportedOperationException異常:
Integer[] arr = new Integer[]{1, 2, 3}; List list = Arrays.asList(arr); list.add(4);
要轉換成ArrayList,可以使用如下代碼:
Integer[] arr = new Integer[]{1, 2, 3}; List list = new ArrayList(Arrays.asList(arr)); list.add(4); System.out.println(list);
輸出結果為:[1, 2, 3, 4]
原創文章,作者:PXSAN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/316139.html