将String数组转换为java.util.List

Hit*_*ngi 108 java arrays collections

如何将String数组转换为java.util.List

And*_*s_D 239

List<String> strings = Arrays.asList(new String[]{"one", "two", "three"});
Run Code Online (Sandbox Code Playgroud)

这是数组的列表视图,列表部分不可修改,您无法添加或删除元素.但时间复杂度是O(1).

如果你想要一个可修改的List:

List<String> strings = 
     new ArrayList<String>(Arrays.asList(new String[]{"one", "two", "three"}));
Run Code Online (Sandbox Code Playgroud)

这会将源数组中的所有元素复制到一个新列表中(复杂度:O(n))


alo*_*pix 24

使用静态List list = Arrays.asList(stringArray)或您可以迭代数组并将字符串添加到列表中.


Sli*_*ick 16

import java.util.Collections;

List myList = new ArrayList();
String[] myArray = new String[] {"Java", "Util", "List"};

Collections.addAll(myList, myArray);
Run Code Online (Sandbox Code Playgroud)


小智 6

第一步,您需要通过Arrays.asList()创建一个列表实例。

String[] args = new String[]{"one","two","three"};
List<String> list = Arrays.asList(args);//it converts to immutable list
Run Code Online (Sandbox Code Playgroud)

然后,您需要将“列表”实例传递给 new ArrayList();

List<String> newList=new ArrayList<>(list);
Run Code Online (Sandbox Code Playgroud)


Nik*_*las 6

Java 8和 Stream API 开始,您可以使用Arrays.streamCollectors.toList

String[] array = new String[]{"a", "b", "c"};
List<String> list = Arrays.stream(array).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

这非常实用,尤其是当您打算对列表执行进一步操作时。

String[] array = new String[]{"a", "bb", "ccc"};
List<String> list = Arrays.stream(array)
                          .filter(str -> str.length() > 1)
                          .map(str -> str + "!")
                          .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)


Cod*_*Sam 5

最简单的方法:

String[] stringArray = {"Hey", "Hi", "Hello"};

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