用一行代码初始化一个ArrayList的数组

47 浏览
0 Comments

用一行代码初始化一个ArrayList的数组

这个问题已经有了答案

一行代码中初始化ArrayList

我有一个String数组,我想能够做类似于

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List listOfStrings = new ArrayList( arrayOfStrings );

或者

List listOfStrings = new ArrayList();
listOfStrings.addAll( arrayOfStrings );

我知道如果我的字符串已经在一个集合中,我可以做到这两个,也知道我可以遍历数组并逐个添加它们,但这样有点麻烦。

是否有任何一种方法可以使用数组初始化List(或任何集合)?

admin 更改状态以发布 2023年5月20日
0
0 Comments

您可以使用Arrays.asList()静态方法。

例如:

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List list = Arrays.asList(arrayOfStrings);

请注意,以这种方式创建了一个“由数组支持的固定大小列表”。如果您想要扩展它,您需要按照以下方式操作:

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List list = new ArrayList(Arrays.asList(arrayOfStrings));

0
0 Comments

你可以使用Arrays.asList方法,该方法接受一个var-args,并返回一个由数组支持的固定大小的List。因此,您无法向此列表添加任何元素。此外,对List元素所做的任何修改都将反映在array中。

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List list = Arrays.asList(arrayOfStrings);

或:

List list = Arrays.asList("this", "is", "an", "array", "of", "strings");


如果您想增加此列表的大小,您需要将其传递给ArrayList构造函数。

List list = new ArrayList(Arrays.asList(arrayOfStrings));

0