嗨,我想知道是否有複製數組列表比下面的一個聯機方式:複製數組列表
String array[] = new String[]{"1", "2", "3", "4" } ;
List list = new ArrayList();
for (int i=0; i< array.length; i++){
list.add(array[i]);
}
編輯:感謝知識性的回答,非常有幫助: )
嗨,我想知道是否有複製數組列表比下面的一個聯機方式:複製數組列表
String array[] = new String[]{"1", "2", "3", "4" } ;
List list = new ArrayList();
for (int i=0; i< array.length; i++){
list.add(array[i]);
}
編輯:感謝知識性的回答,非常有幫助: )
是的,有一個單線程,使用Arrays.asList(T...a)將數組轉換爲列表並將其作爲參數傳遞給ArrayList重載的構造函數,該構造函數需要一個Collection。
List<String> list = new ArrayList<String>(Arrays.asList(array))
'List
@GiulioPiancastelli oops。排序:) :) – PermGenError 2013-03-07 21:51:54
只有當你想修改列表時,新的纔有用,否則Cratylus的答案更好 – Aubin 2013-03-07 21:54:32
如果您需要在列表格式數組,但實際上並不需要在結構修改,你可以做數組:List<String> list = Arrays.asList(array);
。
否則,@ PremGenError的答案是要去的。
+1解釋'Arrays.asList()並創建一個新的清單。 – 2013-03-07 21:55:02
最簡單的方法是:
List<String> fixedList = Arrays.asList(array);
然而,這將返回指定數組支持的固定大小的列表。 這意味着嘗試修改列表(如list.add("10")
) 將在運行時導致java.lang.UnsupportedOperationException
- 所以要小心。
的可修改列表可以基於固定大小的列表上構建:
List<String> modifiableList = new ArrayList<String>(fixedList);
這兩個步驟可以合併成一個單一的代碼行,像這樣:
List<String> list = new ArrayList<String>(Arrays.asList(array));
請使用通用List的版本。另外,'List'是一個接口,所以它不能實例化:您可以創建一個'ArrayList '或者'LinkedList '。 –
2013-03-07 21:53:35
謝謝,這就是我不得不從頭開始,但是我在錯誤地發佈這個問題之前將其更改爲列表。 – phcoding 2013-03-07 22:00:08
您仍然需要添加類型參數,例如'列表'。 –
2013-03-07 22:27:42