Java 当与原始ArrayList相同的另一个ArrayList集更改时,将修改原始ArrayList
我正在为一个名为Java 当与原始ArrayList相同的另一个ArrayList集更改时,将修改原始ArrayList,java,arraylist,Java,Arraylist,我正在为一个名为wordList的程序使用ArrayList。我有一个单独的ArrayList用于另一个方法,称为smallestWords。我做“smallestWords=arrayList”是为了有一份wordList的副本,可以在不影响原始文档的情况下进行修改。但是,每当我修改smallestWords时,它也会修改wordList,这会给我带来问题。我假设这是因为将smallestWords设置为wordList只是将其设置为该内存位置,因为它是一种抽象数据类型,并通过引用传递 我如何
wordList
的程序使用ArrayList
。我有一个单独的ArrayList
用于另一个方法,称为smallestWords
。我做“smallestWords=arrayList
”是为了有一份wordList
的副本,可以在不影响原始文档的情况下进行修改。但是,每当我修改smallestWords
时,它也会修改wordList
,这会给我带来问题。我假设这是因为将smallestWords
设置为wordList
只是将其设置为该内存位置,因为它是一种抽象数据类型,并通过引用传递
我如何才能在不修改数据的情况下获取数据副本?如果您想查看程序的实际代码,请询问 您没有使用
smallestWords=arrayList
进行复制。您只是将相同的ArrayList
分配给smallestWords
您应使用以下方法进行复制:
List<String> smallestWords = new ArrayList<String>(arrayList);
List smallestWords=newarraylist(ArrayList);
如果要制作阵列列表的副本,可以使用:
ArrayList smallestWords = new ArrayList(wordList);
(根据需要插入泛型类型参数)为正确答案添加代码。您是在复制列表,还是在为其分配另一个变量?