数组列表或Java中的列表声明已经询问并回答了如何声明一个空数组列表,但我如何声明一个带值的数组列表?
我尝试了以下,但它返回一个语法错误:
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'];
}
}
在Java 9+中,你可以做:
var x = List.of("xyz", "abc");
// 'var' works only for local variables
Java 8使用流:
Stream.of("xyz", "abc").collect(Collectors.toList());
当然,你可以使用接受Collection的构造函数创建一个新对象:
List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));
提示:文档包含非常有用的信息,通常包含您正在寻找的答案。例如,下面是ArrayList类的构造函数:
ArrayList ()
构造一个初始容量为10的空列表。
ArrayList集合(< ?c) (*)
按照指定集合的迭代器返回元素的顺序,构造一个包含指定集合元素的列表。
ArrayList (int initialCapacity)
构造具有指定初始容量的空列表。
Use:
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"));
or
List<String> x = asList("xyz", "abc");