可能的复制品: 在 Java 中将数组分配给 ArrayList
我需要把一个 String[]转换成一个 ArrayList<String>,但我不知道怎么做
String[]
ArrayList<String>
File dir = new File(Environment.getExternalStorageDirectory() + "/dir/"); String[] filesOrig = dir.list();
基本上我想把 filesOrig转换成 ArrayList。
filesOrig
ArrayList
您可以循环所有数组并添加到 ArrayList:
ArrayList<String> files = new ArrayList<String>(filesOrig.length); for(String file: filesOrig) { files.add(file); }
或者使用 Arrays.asList(T... a)来完成发布的评论。
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