一、使用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
微信掃一掃
支付寶掃一掃