Java 陣列如何轉成List集合
阿新 • • 發佈:2018-12-14
問題描述:對於給定的如下陣列,如何轉換成List集合?
String[] array = {"a","b","c"};
總結如下幾種寫法:
1.使用原生方式,拆分陣列,新增到List
List<String> resultList = new ArrayList<>(array.length);
for (String s : array) {
resultList.add(s);
}
2.使用Arrays.asList()
List<String> resultList= new ArrayList<>(Arrays.asList(array));
- 注意:呼叫
Arrays.asList()
時,其返回值型別是ArrayList
,但此ArrayList
是Array
的內部類,呼叫add()
時,會報錯:java.lang.UnsupportedOperationException
,並且結果會因為array
的某個值的改變而改變,故需要再次構造一個新的ArrayList
。
3.使用Collections.addAll()
List<String> resultList = new ArrayList<>(array.length);
Collections.addAll(resultList,array);
4.使用List.of()
- 此方法為
Java9
新增方法,定義在List
介面內,並且為靜態方法,故可以由類名直接呼叫。
List<String> resultList = List.of(array);