查找列表的值

时间:2011-11-30 20:16:22

标签: groovy

我有两个列表

def flagList = SystemFlag.list() 

这包含一个表的域对象

我有另一个使用查询创建的列表。此列表的对象中的一个参数包含在flagList中。如何找到第二个列表中是否存在FlagList的id?

我可以在普通的java中完成它,但我需要使用Groovy。

2 个答案:

答案 0 :(得分:0)

如果我理解你,你就是这种情况:

def listeOne = [1,2,3,4,5]

def listTwo = [2,5,1]

你想看看' 2' ' listTwo'是在' listOne'。

查找特定值:

def found = 2 in listTwo //returns a boolean of the interger 2 is in listTwo

搜索两个列表的公共值:

def intersectionsList = listOne.intersect(listTwo) //gives you a list of value that are in BORTH list

你也可以像这样迭代:

listTwo.each { value -> 
 if(value in listOne) println value //or do something lese
}

或者:

listTwo.each { value ->
 listOne.find {value}?.toString() //you can perform an action on the object found in listOne. using '?.' will make sure no nullpointer will be thrown if there is no result. 
}

答案 1 :(得分:-1)

我发现它使用

def it = itemtofindsomehow
list.findIndexof  { iterator ->
  iterator.domain.id == it.id
}