用一行代码初始化一个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日
您可以使用Arrays.asList()
静态方法。
例如:
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"}; Listlist = Arrays.asList(arrayOfStrings);
请注意,以这种方式创建了一个“由数组支持的固定大小列表”。如果您想要扩展它,您需要按照以下方式操作:
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"}; Listlist = new ArrayList (Arrays.asList(arrayOfStrings));
你可以使用Arrays.asList
方法,该方法接受一个var-args
,并返回一个由数组支持的固定大小的List
。因此,您无法向此列表添加任何元素。此外,对List
元素所做的任何修改都将反映在array
中。
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"}; Listlist = Arrays.asList(arrayOfStrings);
或:
Listlist = Arrays.asList("this", "is", "an", "array", "of", "strings");
如果您想增加此列表的大小,您需要将其传递给ArrayList
构造函数。
Listlist = new ArrayList (Arrays.asList(arrayOfStrings));