两个系列之间的区别?(collection1中的元素,但不在collection2中)

ste*_*wpf 9 java collections list set guava

在Java中(可能使用Guava?),是否提供了一些方法来获得两个Collections 的区别,例如a List和a Set 而不修改其中一个Collections(否则会有collection1.removeAll(collection2)

在番石榴有Sets.difference(set1,set2),但它只适用于Sets,而不适用于任意收藏.

谢谢你的提示!

Fra*_*eau 13

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

Collections2.filter(c1, Predicates.not(Predicates.in(c2))
Run Code Online (Sandbox Code Playgroud)

它适用于任何类型的Collections,但显然它是更好的,如果c2是一个Set.