java - 如何使用 Arrays.asList() 启动 LinkedList

我正在尝试创建一个链表

LinkedList<String> cities=  Arrays.asList("NY","LA","Seattle","San francisco");

这给出了一个编译器错误,因为 Arrays.asList 返回一个 List

我知道我可以先创建一个 List,然后创建传递给构造函数的第一个列表的链表。例如

List<String> cities=  Arrays.asList("NY","LA","Seattle","San francisco");
LinkedList<String> linkedCities = new LinkedList<>(cities);

我如何使用 Arrays.asList 或任何其他方法来避免内存中有两个列表?

最佳答案

郑重声明,您实际上并没有在内存中有两个列表。 Arrays.asList() 只是传递数组的包装器。但是如果你想避免包装器,你可以构造一个空列表,然后用一个 Collections.addAll() 填充它。 :

LinkedList<String> cities = new LinkedList<>();
Collections.addAll(cities, "NY", "LA", "Seattle", "San francisco");

https://stackoverflow.com/questions/67612593/

相关文章:

python - 如何从 yfinance 数据中删除时区?

c# - 在不使用 lambda 表达式的情况下从该方法传递额外参数时在方法内部订阅事件

Pandas - 提取第 4 个字符后的所有文本

python - 在新列中计算数据框中的逗号分隔字符串

python - 无需替换即可生成置换数组

pandas - 如何通过每行的第一个单词将 pandas 中的行汇总为该第一个单词的聚合?

java - 如何断言数组中某个值的存在

android - Jetpack 撰写 : Textfield and FAB not using

kubernetes - Helm : How to avoid recreating secret

c++ - 为什么 C++ 中 std::string 的复制方法在此程序中显示出奇怪的行为?