Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串[]转换为ArrayList<;字符串>;_Java_Android_String_Arraylist - Fatal编程技术网

Java 如何将字符串[]转换为ArrayList<;字符串>;

Java 如何将字符串[]转换为ArrayList<;字符串>;,java,android,string,arraylist,Java,Android,String,Arraylist,可能重复: 我需要将字符串[]转换为数组列表,我不知道如何转换 File dir = new File(Environment.getExternalStorageDirectory() + "/dir/"); String[] filesOrig = dir.list(); 基本上,我想将filesOrig转换为ArrayList您可以循环所有数组并添加到ArrayList中: ArrayList<String> files = new ArrayList<String&

可能重复:

我需要将
字符串[]
转换为
数组列表
,我不知道如何转换

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

基本上,我想将
filesOrig
转换为
ArrayList
您可以循环所有数组并添加到ArrayList中:

ArrayList<String> files = new ArrayList<String>(filesOrig.length);
for(String file: filesOrig) {
    files.add(file);
}
arraylistfiles=新的ArrayList(filesOrig.length);
for(字符串文件:filesOrig){
文件。添加(文件);
}
或者使用
Arrays.asList(T…a)
来处理发布的评论。

如下所示:

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

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

您可以执行以下操作

List myList = new ArrayList();
Collections.addAll(myList, filesOrig); 
MyClass[]arr=myList.toArray(新的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
String[]strings=新字符串[]{“1”,“2”};
List-stringList=newarraylist(Arrays.asList(strings))//只有在绝对需要ArrayList时才需要新的ArrayList

讽刺的是,它被标记为重复,尽管这比原来的更有名。
…新的ArrayList(filesOrig.length)防止备份阵列的大小必须增加。可能更快。谢谢,这是我用过的。我不相信你可以对这个列表进行更改。stringList.remove(1)肯定对我无效。谢谢。。我无法使用
数组.asList
,因为我以后必须将元素添加到列表中
addAll
工作得很好:)第二个选项工作这个答案是错误的,甚至无法编译。@suriv:唯一的问题是
List
而不是
ArrayList
,但答案没有错。创建数组的副本到
ArrayList
并不总是必要的,有时您只需要将数组作为列表查看。请注意,创建真实副本,如在
新建ArrayList(Arrays.asList(array))
中,列表的每个元素都需要内存。例如,一个100000
对象
数组需要800kb的RAM,仅用于指向引用的指针。为了将来读者的利益,尝试在此列表中添加或删除元素会引发一个异常。@suriv:答案和文档中都有明确说明,无论如何,感谢您的澄清。
List myList = new ArrayList();
Collections.addAll(myList, filesOrig); 
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