【问题标题】:Array and linkedlist in javajava中的数组和链表
【发布时间】:2014-08-31 10:20:04
【问题描述】:
你能给我解释一下这段代码吗,arrays.aslist(job) 是什么意思?
String jobs[] ={"senior","programmeur","project manager"};
LinkedList<String> links = new LinkedList<String>(Arrays.asList(jobs));
【问题讨论】:
标签:
java
arrays
api
linked-list
【解决方案1】:
来自文档:
返回由指定数组支持的固定大小的列表。 (更改为
返回的列表“写入”到数组。)此方法充当
结合基于数组和基于集合的 API 之间的桥梁
使用 Collection.toArray()。返回的列表是可序列化的,并且
实现 RandomAccess。
用于创建快速列表,如:
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
见here
【解决方案2】:
arrays.aslist(job) 正在将您的 String 数组转换为 List。 Arrays.asList 的 Javadoc 说
返回由指定数组支持的固定大小的列表。
它的作用是
- 它创建了一个实现
List<String> 的包装器,基本上原始数组现在可以作为新列表使用
- 当您将它添加到
new LinkedList<String>() 时,它会将原始数组中的所有元素复制到新列表中。它创建原始数组的不可变副本
【解决方案3】:
此外,asList 有助于从原始数组中获取基于对象的集合。
【解决方案4】:
Arrays.asList() 从数组中创建一个immutable 列表。
要从不可变 List 中获取可变 List,请创建一个新 List(在本例中为 LinkedList),将不可变 List 传递给其构造函数。