可能重复:
在 Java 中将数组分配给 ArrayList
我需要将 a 转换String[]
为 anArrayList<String>
但我不知道如何
File dir = new File(Environment.getExternalStorageDirectory() + "/dir/");
String[] filesOrig = dir.list();
基本上我想filesOrig
变成一个ArrayList
.
可能重复:
在 Java 中将数组分配给 ArrayList
我需要将 a 转换String[]
为 anArrayList<String>
但我不知道如何
File dir = new File(Environment.getExternalStorageDirectory() + "/dir/");
String[] filesOrig = dir.list();
基本上我想filesOrig
变成一个ArrayList
.
您可以执行以下操作:
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
像这样 :
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);
您可以循环所有数组并添加到 ArrayList 中:
ArrayList<String> files = new ArrayList<String>(filesOrig.length);
for(String file: filesOrig) {
files.add(file);
}
或者Arrays.asList(T... a)
按照发表的评论使用。
你可以做类似的事情
MyClass[] arr = myList.toArray(new MyClass[myList.size()]);