在Java中,數組與集合是兩種不同的數據結構。數組是定長的,一旦長度定義好後就不能再進行擴容或縮容;而集合則可以動態地增加或減少元素,非常方便。但有時,我們需要將數組轉換成List集合,比如在使用一些API時,這種操作會變得十分必要。
一、將數組轉換成List集合的兩種方法
Java提供了兩種方式可以將數組轉換成List集合,一種是使用Arrays類提供的asList()方法,另一種是通過循環遍曆數組,逐一添加到List中。
1、使用Arrays類提供的asList()方法
Integer[] arr = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(arr); System.out.println(list); // [1, 2, 3, 4, 5]
首先,我們需要創建一個Integer類型的數組arr,其中包含了5個元素。使用Arrays類提供的asList()方法將該數組轉換成List集合,最後輸出了轉換後的結果。
需要注意的是,使用asList()方法返回的List是一個不可變的List。意思是說,如果我們試圖添加或刪除元素都會拋出UnsupportedOperationException異常。該方法底層使用的是數組,所以會對數組進行直接的操作。
2、通過循環遍曆數組添加到List中
Integer[] arr = {1, 2, 3, 4, 5}; List<Integer> list = new ArrayList<>(); for (Integer i : arr) { list.add(i); } System.out.println(list); // [1, 2, 3, 4, 5]
上述代碼通過循環遍曆數組arr,逐一將其添加到List集合中,最後輸出了轉換後的結果。與asList()方法不同,這種方式轉換的List是可變的。
二、數組轉換成List的注意事項
1、基本類型數組的轉換
如上面的示例所示,我們演示的都是將Integer類型的數組轉換成List集合。對於基本類型數組,操作稍微有些區別。
int[] arr = {1, 2, 3, 4, 5}; List<Integer> list = new ArrayList<>(); for (int i : arr) { list.add(i); } System.out.println(list); // [1, 2, 3, 4, 5]
由於泛型不能接受基本類型,所以我們需要將基本類型的數組轉換成對應的包裝類型,如示例中將int數組轉換成了Integer類型的List集合。
2、對轉化後的List集合進行修改
使用asList()方法轉換的List是不可變的,嘗試對其添加或刪除元素都會引發異常。以下示例代碼中,試圖向asList()轉化後的List集合中添加元素,運行時會拋出UnsupportedOperationException異常。
String[] arr = {"a", "b", "c", "d", "e"}; List<String> list = Arrays.asList(arr); list.add("f");
而使用循環遍曆數組轉換成的List則是可變的,我們可以隨意的對其添加、刪除元素。
三、小結
本文詳細介紹了Java中將數組轉換成List集合的方法以及注意事項。通過本文的講解,相信大家能夠輕鬆的應用這兩種轉換方法,並在實際編程中運用到。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240724.html