在 groovy 中创建一个具有两个集合的地图 - 带有键和值

pix*_*xel 4 collections groovy hashmap

我有两个清单:

def ids = [1L, 2L, 3L]
def values = [11, 12, 13]
Run Code Online (Sandbox Code Playgroud)

我想创建一个HashMapwith idsas 键和valuesas 值。

我尝试使用transpose但坚持使用GroovyCastException

Szy*_*iak 7

GroovyCollections.transpose(lists) 从两个列表中“压缩”元素,例如

[[1,2], [3,4]].transpose() == [[1,3], [2,4]]
Run Code Online (Sandbox Code Playgroud)

您可以结合使用它.collectEntries()从这样的输出创建地图:

Map map = [ids, values].transpose().collectEntries()
assert map == [1: 11, 2: 12, 3: 13]
Run Code Online (Sandbox Code Playgroud)

它将创建一个地图,如:

[1:11, 2:12, 3:13]
Run Code Online (Sandbox Code Playgroud)

使用您的输入数据。