Java ArrayList addAll 只添加 1 个元素?

标签 java arraylist

所以我基本上将一些Integer对象放入ArrayList x中,然后将一些Integer对象放入ArrayList y中,然后执行y .addAll(x),但似乎只添加了第一个,而忽略了其余的所有!不是应该添加ALL吗?我在 Oracle 上查了一下,他们展示了似乎完全相同的示例,但我的却无法正常工作。这是我的代码:

ArrayList<Integer> x = new ArrayList<Integer>();
Integer a = 1;
Integer b = 2;
Integer c = 3;
x.add(a);
x.add(b);
ArrayList< Integer> y = new ArrayList< Integer>();
y.addAll(x);

但是 y 中似乎只有 1,缺少 23

我做错了什么?

编辑: 是的,抱歉,我知道我实际上还没有将 c 添加到 x 中,但即使我这样做了,然后打印 y,我仍然得到 [1] 而不是 [1,2,3]。这是我不明白的地方。

import java.util.ArrayList;
public class SumArrayList {

    public static void main(String[] args) {

        ArrayList<Integer> x = new ArrayList<Integer>();
        Integer a = 1;
        Integer b = 2;
        Integer c = 3;
        x.add(a);
        x.add(b);
        System.out.println(x);
        //System.out.println(calculateSumArrayListHelper(x));

        ArrayList<Integer> y = new ArrayList<Integer>();
        y.addAll(x);
        System.out.println(y);
        //System.out.println(calculateSumArrayListHelper(y));
    }
}

这是我所看到的图片: http://postimg.org/image/ms0y68nnh/

最佳答案

根据你发的图片,一目了然。您在 addAll() 之前调用 calculateSumArrayListHelper(x)。在该方法中,您可以从给定列表中删除元素。因此,当您调用 y.addAll(x) 时,元素已从 x 中删除。

关于Java ArrayList addAll 只添加 1 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592525/

相关文章:

java - 在 Java 中创建一个 ArrayList?

javascript - 在AngularJS中使用ng-repeat迭代数组列表的数组列表

java - ArrayList.clear() 正在更新 List<> 的先前值

java - 如何将对象 ArrayList 中的项目添加到 JList。

java - Android:当我还在 View 上设置 layoutParams 时,在 View 上调用 setPadding() 不起作用

java - 使用 DataStax Java 驱动程序 1.0.4 通过 CQL 连接到 Cassandra 时出现异常

java - 寻找一种在速度模板中检索日期的方法

java - 在数组列表中查找重复值并打印重复值

java - "Missing request header "生产环境中的 Spring 引导 Controller 异常,而不是在本地服务器上

java - Android 应用程序永远无法将网页内容下载为字符串(WaitForGcToComplete 因 HeapTrim 原因而被阻止 xx.xxxms?)