如何声明一个具有值的ArrayList?
如何声明一个具有值的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 x = new ArrayList(); x = ['xyz', 'abc']; } }
admin 更改状态以发布 2023年5月21日
使用:
Listx = new ArrayList<>(Arrays.asList("xyz", "abc"));
如果您不想稍后添加新元素到列表中,您也可以使用(Arrays.asList 返回一个固定大小的列表):
Listx = Arrays.asList("xyz", "abc");
注意: 如果您愿意,您也可以使用静态导入,那么它看起来像这样:
import static java.util.Arrays.asList;
...
Listx = new ArrayList<>(asList("xyz", "abc"));
或者
Listx = asList("xyz", "abc");
在 Java 9+ 中,你可以这样做:
var x = List.of("xyz", "abc"); // 'var' works only for local variables
在 Java 8 中,你可以使用Stream
:
Stream.of("xyz", "abc").collect(Collectors.toList());
当然,你也可以使用接受Collection
参数的构造函数创建一个新对象:
Listx = new ArrayList<>(Arrays.asList("xyz", "abc"));
提示:在文档中,通常包含你正在寻找的答案的非常有用的信息。例如,这里是 ArrayList
类的构造函数:
-
构造一个具有初始容量为 10 的空列表。
-
ArrayList(Collection extends E> c)
(*)构造一个包含指定集合中元素的列表,按照集合的迭代器返回它们的顺序。
-
ArrayList(int initialCapacity)
构造一个具有指定初始容量的空列表。