陣列轉換成List集合

dxyzhbb發表於2020-09-24

問題描述:對於給定的如下陣列,如何轉換成List集合?

String[] array = {"a","b","c"};

參考stackoverflow總結如下幾種寫法:

1.使用原生方式,拆分陣列,新增到List

 
  1. List<String> resultList = new ArrayList<>(array.length);

  2. for (String s : array) {

  3. resultList.add(s);

  4. }

2.使用Arrays.asList()

List<String> resultList= new ArrayList<>(Arrays.asList(array));
  • 注意:呼叫Arrays.asList()時,其返回值型別是ArrayList,但此ArrayListArray的內部類,呼叫add()時,會報錯:java.lang.UnsupportedOperationException,並且結果會因為array的某個值的改變而改變,故需要再次構造一個新的ArrayList

3.使用Collections.addAll()

 
  1. List<String> resultList = new ArrayList<>(array.length);

  2. Collections.addAll(resultList,array);

4.使用List.of()

  • 此方法為 Java9新增方法,定義在List介面內,並且為靜態方法,故可以由類名直接呼叫。
List<String> resultList = List.of(array);

 

相關文章