从数组创建 ArrayList

新手上路,请多包涵

给定一个类型为 Element[] 的数组:

 Element[] array = {new Element(1), new Element(2), new Element(3)};

如何将此数组转换为 ArrayList<Element> 类型的对象?

 ArrayList<Element> arrayList = ???;

原文由 Ron Tuffin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 526
2 个回答
new ArrayList<>(Arrays.asList(array));

原文由 Tom 发布,翻译遵循 CC BY-SA 4.0 许可协议

鉴于:

 Element[] array = new Element[] { new Element(1), new Element(2), new Element(3) };

最简单的答案是:

 List<Element> list = Arrays.asList(array);

这会很好用。但有一些警告:

  1. 从 asList 返回的列表具有 固定大小。因此,如果您希望能够在代码中的返回列表中添加或删除元素,则需要将其包装在新的 ArrayList 中。否则你会得到一个 UnsupportedOperationException
  2. asList() 返回的列表由原始数组支持。如果修改原始数组,列表也会被修改。这可能令人惊讶。

原文由 Alex Miller 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题