使用removeAll方法后删除对象的原因

时间:2015-07-14 17:38:03

标签: java

我已经执行了一个程序。从列表中删除对象后反映另一个列表。

=SUM((Sheet2!$L$1:$W$1=TEXT(B2,"mmm"))*IF(Sheet2!$K$2:$K$7=YEAR(B2),IF(Sheet2!$X$2:$X$7=C2,IF(Sheet2!$Y$2:$Y$7=D2,Sheet2!$L$2:$W$7))))

我得到的输出是: E,F

为什么' a'删除?

2 个答案:

答案 0 :(得分:2)

因为你或许打过a1.removeAll(a2)

http://docs.oracle.com/javase/7/docs/api/java/util/List.html#removeAll%28java.util.Collection%29

  

从此列表中删除指定集合中包含的所有元素(可选操作)。

因此,换句话说,a2以及a1中的每个元素都将从a1中移除。

答案 1 :(得分:0)

a1.removeAll是一个可以采用另一个数组的方法。这就是你如何使用它。它可以从当前数组中删除所有其他数组。在您的示例中,a1的值为[" a"," e"," f"]和a2的值为[" a&# 34;," x"," y"]。 a1.removeAll(a2)将尝试从a1中删除a2中包含的所有值。因为" a"是a2中的值,它从a1中删除。