在Java中(也许使用Guava?),是否提供了一些方法来获取两个Collection的差异,例如而不修改其中一个ListSetCollection(否则会有collection1.removeAll(collection2)吗?

在 Guava 中有Sets.difference(set1,set2),但它仅适用于Set,不适用于任意集合。

感谢您的提示!

最佳答案

您可以使用内置的Collection过滤第一个Predicate:

Collections2.filter(c1, Predicates.not(Predicates.in(c2))

它可以与任何Collection一起使用,但是如果c2Set显然更好。

10-06 06:08