如何将String []转换为ArrayList <String>

Ale*_*cox 121 java string android arraylist

可能重复:
在Java中将数组分配给ArrayList

我需要将a转换String[]为an ArrayList<String>,我不知道如何

File dir = new File(Environment.getExternalStorageDirectory() + "/dir/");
String[] filesOrig = dir.list();
Run Code Online (Sandbox Code Playgroud)

基本上我想filesOrig变成一个ArrayList.

Sco*_*ott 331

您可以执行以下操作:

String [] strings = new String [] {"1", "2" };
List<String> stringList = new ArrayList<String>(Arrays.asList(strings)); //new ArrayList is only needed if you absolutely need an ArrayList
Run Code Online (Sandbox Code Playgroud)


小智 32

像这样 :

String[] words = {"000", "aaa", "bbb", "ccc", "ddd"};
List<String> wordList = new ArrayList<String>(Arrays.asList(words));
Run Code Online (Sandbox Code Playgroud)

要么

List myList = new ArrayList();
String[] words = {"000", "aaa", "bbb", "ccc", "ddd"};
Collections.addAll(myList, words);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢..我不能使用`Arrays.asList`因为我必须稍后添加元素列表.`addAll`工作得很完美:) (2认同)

Jac*_*ack 16

List<String> list = Arrays.asList(array);
Run Code Online (Sandbox Code Playgroud)

返回的列表将由数组支持,它就像一个桥,因此它将是固定大小的.


Pau*_*Wee 6

您可以循环所有数组并添加到 ArrayList 中:

ArrayList<String> files = new ArrayList<String>(filesOrig.length);
for(String file: filesOrig) {
    files.add(file);
}
Run Code Online (Sandbox Code Playgroud)

或使用Arrays.asList(T... a)做为发表的评论。


sar*_*026 6

List myList = new ArrayList();
Collections.addAll(myList, filesOrig); 
Run Code Online (Sandbox Code Playgroud)