【发布时间】:2011-08-26 23:25:54
【问题描述】:
如何将String 数组转换为java.util.List?
【问题讨论】:
标签: java arrays collections
如何将String 数组转换为java.util.List?
【问题讨论】:
标签: java arrays collections
使用静态 List list = Arrays.asList(stringArray) 或者您可以遍历数组并将字符串添加到列表中。
【讨论】:
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))
【讨论】:
import java.util.Collections;
List myList = new ArrayList();
String[] myArray = new String[] {"Java", "Util", "List"};
Collections.addAll(myList, myArray);
【讨论】:
第一步需要通过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);
【讨论】:
最简单的方法:
String[] stringArray = {"Hey", "Hi", "Hello"};
List<String> list = Arrays.asList(stringArray);
【讨论】:
在 Java 14 上,您可以这样做
List<String> strings = Arrays.asList("one", "two", "three");
【讨论】:
从 Java 8 和 Stream API 开始,您可以使用 Arrays.stream 和 Collectors.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());
【讨论】: