私はいくつかのURLを持っているリストを持っています。私はマップ上でリスト内の項目がどこに存在するかを見つけるために地図を繰り返しています。値が存在する場合、対応するマップキーが返されます。ここで groovyのマップの値と比較してキーを見つける方法は?
はコードです:def map= [:]
List<String> list = ["url1", "url2", "url3"]
for (project in activeJobs) {
scm = project.scm;
//println("${project.name}: " +
// "repositories: ${scm.repositories.collectMany{ it.getURIs() }}")
def uriName = scm.repositories.collectMany{ it.getURIs() }
uriName.eachWithIndex { item, index ->
//println item
uriName = uriName[index].toString().toLowerCase()
map.put(project.name, uriName)
}
}
list.each { url ->
//println url
//def item = map.find { value -> url }
//println item
//println url
print map.find { it.value == url }?.key
}
最終print文は常にnullを返します。
問題でありますが、「印刷map.find {it.value == "$ URLを"}試すことができます?.key "this once .. –