2011-09-13 62 views
2

然而,这可能是一个愚蠢的问题,有没有一种简单的方法可以在Groovy中实现集合的反连接?Grojo集合中的反连接

我知道有[做同盟和十字路口的同等方式]。

我如何做到这一点的想法是:

List a,b; 
union(a,b) - intersection(a,b) 

但是,我不知道是否有在常规收藏品的不同运营商。

回答

4

事实证明,您可以对2个列表执行减法操作,并接收不相交集合的列表。只需使用两个列表之间的减法运算符。

listone - listtwo 
+2

当心,如果你有,虽然 –

+0

名单重复,将仅仅意味着listone.unique() - listtwo.unqiue() – monksy

+1

这取决于在什么[你需要作为输出](http://stackoverflow.com/questions/7386978/groovy-difference-with-a-intersect-b-and-b-intersect-a) –

1

据我所知,没有一个运营商提供的方法来为你做这个(可能是一个很酷除了常规虽然)

我能想到的是the disjoint method返回true最接近如果没有交集列表,否则返回false

+1

关闭....但它并没有真正返回一个列表 – monksy