如何声明一个ArrayList的值?

Java中的ArrayList或List声明质疑并回答了如何声明一个空的ArrayList但我该如何声明一个ArrayList的值?

我试过以下,但它返回一个语法错误:

 import java.io.IOException; import java.util.ArrayList; public class test { public static void main(String[] args) throws IOException { ArrayList<String> x = new ArrayList<String>(); x = ['xyz', 'abc']; } } 

您可以使用接受Collection的构造函数创build一个新的对象:

 List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc")); 

提示: 文档包含非常有用的信息,通常包含您正在查找的答案。 例如,下面是ArrayList类的构造函数:

  • ArrayList()

    构build一个初始容量为10的空列表。

  • ArrayList(Collection<? extends E> c) (*)

    按照集合迭代器返回的顺序构造一个包含指定集合元素的列表。

  • ArrayList(int initialCapacity)

    用指定的初始容量构造一个空列表。


使用Stream Java 8解决scheme:

 Stream.of("xyz", "abc").collect(Collectors.toList()); 

你可以这样做:

 List<String> temp = new ArrayList<String>(Arrays.asList("1", "12")); 

使用:

 List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc")); 

如果以后不想将新元素添加到列表中,则还可以使用( Arrays.asList返回固定大小的列表):

 List<String> x = Arrays.asList("xyz", "abc"); 

注意:如果你喜欢,你也可以使用静态导入,那么它看起来像这样:

 import static java.util.Arrays.asList; 

 List<String> x = new ArrayList<>(asList("xyz", "abc")); 

要么

 List<String> x = asList("xyz", "abc"); 

Guava库包含创build列表和其他集合的便捷方法,使其比使用标准库类更漂亮。

例:

 ArrayList<String> list = newArrayList("a", "b", "c"); 

(这假设import static com.google.common.collect.Lists.newArrayList;

尝试这个!

 List<String> x = new ArrayList<String>(Arrays.asList("xyz", "abc")); 

如果不需要调用特定的方法,那么使用接口List来声明ArrayList是个好习惯。

使用这个:

 ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));