java - ArrayList从另一个ArrayList中删除对象?

标签 java arraylist

所以,我有这个用例:

ArrayList<String> test1 = new ArrayList<String>();
test1.add("string1");
test1.add("string2");

ArrayList<String> test2 = test1;
test2.remove(0);
System.out.println(test1.get(0)); // Expect to see "string1"

第一个 ArrayList test1 有两个 String 元素。然后我创建一个新的(?)ArrayList,test2,它与test1 相同。当我从 test2 中删除第一个元素(即“string1”),然后尝试显示 test1 中的第一个元素时,它返回“string2”...也在那里第一个元素“string1”以某种方式被删除。

这怎么可能?

最佳答案

Then I make a new (?) ArrayList, test2, which is the same as test1.

不,你没有。您刚刚将 arraylist 2 指向 arraylist 1。

您可以使用列表的浅构造函数或使用 addAll 方法。

List<String> test2 = new ArrayList<String>();
test2.addAll(test1);

关于java - ArrayList从另一个ArrayList中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44164288/

相关文章:

java - 从数组列表写入文件,反之亦然

java - 数组列表。总价 打印出来

java - 删除 arraylist 中的元素时出现问题

java - 当我们使用 WebElement 的 obj 方法 .getCssValue ("font-family"时,TestNG 的 SoftAsert.assertEquals(actual,expected) 方法无法正常运行

java - 无法在 Java 中向 LinkedHashMap 添加元素

java - Mybatis foreach 迭代复杂对象参数中的整数列表

java - 如何过滤并显示列表?

.net - Arraylist 使用 Array?

java - java中的xml dom解析器?

java - 将值发送到 android ndk 中的 C 并获取示例(if)响应