java - 在一行中用数组初始化 ArrayList

标签 java arrays list data-structures

<分区>

我有一个 String 数组,我希望能够按照以下方式做一些事情

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

List<String> listOfStrings = new ArrayList<String>();
listOfStrings.addAll( arrayOfStrings );

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

有什么方法可以用数组初始化 List(或与此相关的任何集合)?

最佳答案

您可以使用 Arrays.asList方法,它接受一个 var-args,并返回一个由数组支持的固定大小的 List。因此,您不能向该列表中添加任何元素。此外,对 List 的元素所做的任何修改都将反射(reflect)在 array 中。

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

或:-

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

如果你想增加这个列表的大小,你必须在 ArrayList 构造函数中传递它。

List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));

关于java - 在一行中用数组初始化 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761623/

相关文章:

arrays - Perl:哈希中的数字排序数组

arrays - 搜索某个模块以比较数组

java - Hibernate:加入带有额外列的表格,从一侧删除 child

java - if for 循环抛出自定义异常

php - 在 PHP5 中用多个/不同的值搜索和替换多个值?

python - 在特定元素的实例之后从列表中提取相同的元素 block

python - 尝试从正在运行的程序添加到列表时列表不可调用

python - Python的List是如何实现的?

java - 消除 lambda 中函数接口(interface)的歧义

java - 方向改变时保持值(value)