Java 将字符串数组转换为ArrayList

Java 将字符串数组转换为ArrayList,java,Java,我想将字符串数组转换为数组列表。例如,字符串数组如下所示: String[] words = new String[]{"ace","boom","crew","dog","eon"}; 如何将此字符串数组转换为ArrayList?使用此代码 import java.util.Arrays; import java.util.List; import java.util.ArrayList; public class StringArrayTest { public st

我想将
字符串
数组转换为
数组列表
。例如,字符串数组如下所示:

String[] words = new String[]{"ace","boom","crew","dog","eon"};

如何将此字符串数组转换为ArrayList?

使用此代码

import java.util.Arrays;  
import java.util.List;  
import java.util.ArrayList;  

public class StringArrayTest {

   public static void main(String[] args) {  
      String[] words = {"ace", "boom", "crew", "dog", "eon"};  

      List<String> wordList = Arrays.asList(words);  

      for (String e : wordList) {  
         System.out.println(e);  
      }  
   }  
}
导入java.util.array;
导入java.util.List;
导入java.util.ArrayList;
公共类StringArrayTest{
公共静态void main(字符串[]args){
String[]words={“ace”、“boom”、“crew”、“dog”、“eon”};
List wordList=Arrays.asList(words);
对于(字符串e:wordList){
系统输出打印ln(e);
}  
}  
}
String[]words=新字符串[]{“ace”、“boom”、“crew”、“dog”、“eon”};
List wordList=Arrays.asList(words);

在大多数情况下,
列表应该足够了。无需创建
ArrayList

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

String[]words={“ace”、“boom”、“crew”、“dog”、“eon”};
列表l=数组.asList(单词);
//如果列表不够具体:
ArrayList al=新的ArrayList(l);
使用

String[]words={“ace”、“boom”、“crew”、“dog”、“eon”};
List arrayList=新建arrayList();
Collections.addAll(arrayList,words);

这里的结果是一个
列表
,但不是一个
数组列表
@MarkoTopolnik您是对的,这需要包装,以便List wordList=new ArrayList(Arrays.asList(words))+1.它现在是google.ArrayList a=newarraylist(Arrays.asList(words))上的第二个链接;你可以用三种基本方法来做。在Java8中使用Collections.addAll、Arrays.asList和streams-Reference-总之,您只需要一行
List wordList=Arrays.asList(words)。这是正确的吗?@Keale如果
words
是字符串数组,那么,是的。注意:数组。asList(…)创建的是一个抽象列表,而不是真正的列表。因此,您可以执行诸如wordList.sort((a,b)->a.length()-b.length())之类的操作,但不能执行wordList.remove(0)或add操作。这将引发UnsupportedOperationException。此代码创建了一个列表,但它不是ArrayList。所以这是一个错误的答案。您不能从该列表中删除元素->将引发异常。@Vito我必须同意,除非有人告诉我您为什么要转换字符串[],否则这可能不是真正问题的解决方案我认为这个解决方案更好,因为
Arrays.asList
返回一个
java.util.Arrays.ArrayList.ArrayList(T[])
所以如果你尝试
添加
一些东西,你会得到一个
java.lang.UnsupportedOperationException
如果数组中的元素数量有限,它可以写成新的ArrayList(Arrays.asList(“abc”、“def”);为了避免IDE警告,
new ArrayList(…)
对我有效,而不是
new ArrayList(…)
(请注意
)。这对我来说是最好的答案。使用
List wordList=Arrays.asList(words)
,执行ArrayList的
单词列表实例将返回false。我喜欢这个解决方案。它简洁明了。我不知道为什么这不是公认的答案。这是正确的答案。asList是错误的。使用Collection.addAll(arrayList,字符串数组)。。。
new ArrayList( Arrays.asList( new String[]{"abc", "def"} ) );
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
String[] words={"ace","boom","crew","dog","eon"};
List<String> l = Arrays.<String>asList(words);

// if List<String> isnt specific enough:
ArrayList<String> al = new ArrayList<String>(l);
String[] words = {"ace","boom","crew","dog","eon"};
List<String> arrayList = new ArrayList<>(); 
Collections.addAll(arrayList, words);