2014-03-28 1 views
-3
나는 다음과 같은 목록이

에 따라 목록에서 필드를 당기기 :초 목록

list1 = [["value1":"name1", "value2":"check1"], ["value1":"name2", "value2":" check2"], 
["value1":"name3", "value2":" check3"]] 
list2 = ['name1', 'name2'] 

내가하고 싶은 것은 name1name2에 대한 모든 "value2"의 목록을 당깁니다. 같이

[check1, check2] 
+0

나는 그루비에 대해 잘 모르겠지만, 모든 언어에서'if' 문으로'for' 루프가 작동합니다. 너 그거 해봤 니? – Andrey

+0

엄청난 수의 레코드 (수십만)를 가지고 있기 때문에 성능에 영향을주지 않는 것을 찾으려고합니다. 응답을 주셔서 감사합니다 – user3433227

답변

2

이 그것을 수행해야합니다

def list3 = list1.findAll { it.value1 in list2 }.value2 
0
def list1 = [["value1":"name1", "value2":"check1"], ["value1":"name2", "value2":" check2"], 

["value1":"name3", "value2":" check3"]] 

def list2 =list1.collect{it."value2"} 
+0

안녕하세요 두 번째 목록에있는 값만 전체 값 목록에있는 끌어오고 싶습니다. – user3433227