因此,我基本上将一些Integer
对象放入ArrayList x
,然后将一些对象放入ArrayList y
,然后再进行y.addAll(x)
,但这似乎只是添加第一个对象,而忽略所有其余的对象!它不应该添加全部吗?我在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/
最佳答案
用您发布的图片很清楚。您在calculateSumArrayListHelper(x)
之前呼叫addAll()
。在该方法内,您可以从给定列表中删除元素。因此,在您调用y.addAll(x)
时,元素已从x
中删除。
关于java - Java ArrayList addAll仅添加1个元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36592525/