Groovy Intersect 2对象列表

时间:2015-04-11 11:51:00

标签: groovy

我正在尝试交叉2个POGO列表。

我需要在POGO上实现哪些方法/接口?

intersect方法的文档仅指出它必须是Iterable。

list1 = createPOGOList()
list2 = createPOGOList()

list3 = list1.intersect(list2)

其中list1和lists2包含POGO。

1 个答案:

答案 0 :(得分:2)

你最安全的赌注是Comparable,获得“免费”的最简单方法是通过Sortable AST变换。 E.g。

@groovy.transform.Sortable(includes=['id'])
class Pogo {
    Long id
}

def n = { new Pogo(id:it) }

assert [n(1),n(2)].intersect([n(1)])*.id == [1]