将值从ArrayList传输到另一个的最佳方法

Wiz*_*Liz 8 java

有了2个ArrayList,我想知道将第一个转换成第二个的"副本"的最佳方法是

myFirstArray.clear();
myFirstArray.addAll(mySecondArray);
Run Code Online (Sandbox Code Playgroud)

要么

myFirstArray = mySecondArray.clone();
Run Code Online (Sandbox Code Playgroud)

这两种方法之间的主要区别是什么,哪种方法是优选的,还有另一种"更容易"或"更清洁"的解决方案.谢谢你的任何提示

编辑:我使用此副本替换当前使用的项目数组,我将在下一个循环中存储我将使用的项目.在循环结束时,我用我的futurArrayList替换了我的currentArrayList,并清除了我的futurArraylist以便在其中添加新项目(我希望它足够清晰)

JB *_*zet 13

第一个用另一个内容替换列表的内容.第二个创建另一个ArrayList实例,保持前一个不触及.

如果列表被其他某个对象引用,并且您希望此其他对象不受影响,请使用第二个对象.如果您希望其他对象也具有新内容,请使用第一个.

如果没有其他内容引用该列表,则无关紧要.第二个将减少使用一些元素替换大型列表的内容时使用的内存.