Java ArrayList 中的复制操作:了解引用行为
将引用分配给 Java 对象(例如 ArrayList),只需复制该引用值,而不是对象本身。对于 ArrayList,将 l1 分配给 l2 意味着两个引用都指向同一个 ArrayList 对象。通过 l2 进行的任何后续更改也将反映在 l1 中。
但是,在某些情况下您可能需要 ArrayList 对象的副本,而不仅仅是引用。为此,您可以创建一个新的 ArrayList 对象,并通过使用 addAll() 等集合方法从原始 ArrayList 复制元素来填充它。此过程创建一个具有自己的底层数据结构的新 ArrayList 对象,使副本独立于原始对象。
代码示例:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } // Create a new ArrayList object to copy the elements into List<Integer> l2 = new ArrayList<>(); l2.addAll(l1); // Clear the original list using l2 l2.clear(); // Original list l1 remains unaffected System.out.println(l1); // Prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
以上是如何创建 Java ArrayList 的真实副本:引用与独立对象?的详细内容。更多信息请关注PHP中文网其他相关文章!