如何声明一个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"));