所以我基本上将一些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
,缺少 2
和 3
。
我做错了什么?
编辑: 是的,抱歉,我知道我实际上还没有将 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/