我有一个嵌套的 ArrayList
形式
ArrayList<ArrayList<PointF>> nestedArraylist
我想在以下意义上创建
nestedArraylistCopy
的“副本”nestedArraylist
:nestedArraylistCopy
的元素应该是 nestedArraylist
中元素的 独立 副本,即应该是 ArrayLists 保存对原始 PointF
中的 nestedArraylist
对象的引用。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 doc 中获得您想要的信息,请阅读源代码。
Q2:您所做的与 Collections.copy
不同,因为您复制的 arrayList 将新的 Arraylist<PointF>
作为元素,但它们包含与源列表相同的元素 ( PointF
)。
Q3:我不知道。因为我不知道你最终想要什么。所有新对象?只有 ArrayList 应该是新对象,还是所有引用?
关于java - "Copy"嵌套数组列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23337321/