nestedArraylist 我想在以下意义上创建 nestedArraylist 的“副本”nestedArraylistCopy: nes-6ren">
gpt4 book ai didi

java - "Copy"嵌套数组列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:06 25 4
gpt4 key购买 nike

我有一个嵌套的ArrayList

ArrayList<ArrayList<PointF>> nestedArraylist

我想在以下意义上创建 nestedArraylist 的“副本”nestedArraylistCopy:

nestedArraylistCopy 的元素应该是nestedArraylist 中元素的独立 副本,即应该是包含对 的引用的 ArrayList与原始 nestedArraylist 中相同的 PointF 对象。

  • 我能以某种方式使用 Collections.copy(dest, src) 来做我想做的事吗?不幸的是,文档并不十分详细...

  • 下面的代码是否符合我的要求?

    for(int i = 0; i < nestedArraylist.size(); i++) 
    nestedArraylistCopy.add(new ArrayList<PointF>(nestedArraylist.get(i)));
  • 是否有更高效或优雅的解决方案?

最佳答案

Q1:在你之后Collections.copy ,您的新 List 对象将包含与 src 相同的元素(假设大小相同)这意味着,它持有相同的 ArrayList<PointF>对象,因此 PointF对象也一样。如果您无法从 api java 文档中获取所需的信息,请阅读源代码。

Q2:你做的和Collections.copy不一样,因为您复制的 arrayList 有新的 Arraylist<PointF>作为元素,但它们包含与源列表相同的元素 ( PointF)。

Q3:不知道。因为我不知道你最终想要什么。所有新对象?只有 ArrayList 应该是新对象,还是所有引用?

关于java - "Copy"嵌套数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com