版权声明:如果本文帮助到了你,顶一下,帮助更多的人 https://blog.csdn.net/lllwj007/article/details/75330727
a.retainAll(b); // 保留在 b 中也有a中也有的条目,从a中去掉不在集合b中的条目。
a.removeAll(b) ,从a中删除所有在 b中的条目。
把两个方法组合起来就知道怎么得到差值。
c = new ArrayList(a);
c.retainAll(b); // 得到 a, b 的交集。
d = new ArrayList(a);
d.addAll(b); // 合并 a, b 值到 d 中。
d.removeAll(c); // 去掉交集 c 中的所有条目。留下只出现在a 或 b 中的条目。
一般来说如果你说集合,一般是用 Set 而不是 List ,只有 Set 是数学意义上的集合(能保证唯一性的,不存在重复元素)。