将字符串数组转换为 java.util.List

Posted

技术标签:

【中文标题】将字符串数组转换为 java.util.List【英文标题】:Converting String array to java.util.List 【发布时间】:2011-08-26 23:25:54 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:
List<String> strings = Arrays.asList(new String[]"one", "two", "three");

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

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

List<String> strings = 
     new ArrayList<String>(Arrays.asList(new String[]"one", "two", "three"));

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

【讨论】:

【参考方案3】:
import java.util.Collections;

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

Collections.addAll(myList, myArray);

【讨论】:

【参考方案4】:

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

String[] args = new String[]"one","two","three";
List<String> list = Arrays.asList(args);//it converts to immutable list

然后你需要将'list'实例传递给new ArrayList();

List<String> newList=new ArrayList<>(list);

【讨论】:

【参考方案5】:

最简单的方法:

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

List<String> list = Arrays.asList(stringArray);

【讨论】:

【参考方案6】:

在 Java 14 上,您可以这样做

List<String> strings = Arrays.asList("one", "two", "three");

【讨论】:

【参考方案7】:

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

String[] array = new String[]"a", "b", "c";
List<String> list = Arrays.stream(array).collect(Collectors.toList());

这很实用,特别是如果您打算对列表执行进一步的操作。

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

【讨论】:

以上是关于将字符串数组转换为 java.util.List的主要内容,如果未能解决你的问题,请参考以下文章

list中的数据怎么转换成字符串

如何将 scala.List 转换为 java.util.List?

无法将类型“java.lang.String”的属性值转换为属性“事务”所需的类型“java.util.List”

使用 Gson 将 JSON 数组解析为 java.util.List

java 集合转换(数组ListSetMap相互转换)

将枚举转换为集/列表