在Java中(也许使用Guava?),是否提供了一些方法来获取两个Collection
的差异,例如而不修改其中一个List
的Set
和Collection
(否则会有collection1.removeAll(collection2)
吗?
在 Guava 中有Sets.difference(set1,set2)
,但它仅适用于Set
,不适用于任意集合。
感谢您的提示!
最佳答案
您可以使用内置的Collection
过滤第一个Predicate
:
Collections2.filter(c1, Predicates.not(Predicates.in(c2))
它可以与任何
Collection
一起使用,但是如果c2
是Set
显然更好。