使用一行中的数组初始化ArrayList

3 java arrays list data-structures

我有一系列的Strings,我希望能够做一些事情

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> listOfStrings = new ArrayList<String>( arrayOfStrings );
Run Code Online (Sandbox Code Playgroud)

要么

List<String> listOfStrings = new ArrayList<String>();
listOfStrings.addAll( arrayOfStrings );
Run Code Online (Sandbox Code Playgroud)

我知道如果我的字符串已经存在于集合中,我可以同时执行这两个操作,并且我可以遍历数组并单独添加它们,但是这个有点混乱.

有没有办法List用数组初始化(或任何集合)?

Roh*_*ain 10

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

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = Arrays.asList(arrayOfStrings);
Run Code Online (Sandbox Code Playgroud)

要么: -

List<String> list = Arrays.asList("this", "is", "an", "array", "of", "strings");
Run Code Online (Sandbox Code Playgroud)

如果要增加此列表的大小,则必须在ArrayList构造函数中传递它.

List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));
Run Code Online (Sandbox Code Playgroud)