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

可能的复制品:
在 Java 中将数组分配给 ArrayList

我需要把一个 String[]转换成一个 ArrayList<String>,但我不知道怎么做

File dir = new File(Environment.getExternalStorageDirectory() + "/dir/");
String[] filesOrig = dir.list();

基本上我想把 filesOrig转换成 ArrayList

199682 次浏览

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

ArrayList<String> files = new ArrayList<String>(filesOrig.length);
for(String file: filesOrig) {
files.add(file);
}

或者使用 Arrays.asList(T... a)来完成发布的评论。

像这样:

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

或者

List myList = new ArrayList();
String[] words = {"000", "aaa", "bbb", "ccc", "ddd"};
Collections.addAll(myList, words);
List<String> list = Arrays.asList(array);

返回的列表将由数组支持,它的作用类似于桥,因此它的大小是固定的。

List myList = new ArrayList();
Collections.addAll(myList, filesOrig);

你可以这样做

MyClass [] arr = myList.toArray (new MyClass [ myList.size ()]) ;

你可以这样做:

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