【问题标题】:How to define maps in Groovy如何在 Groovy 中定义地图
【发布时间】:2011-10-27 21:53:35
【问题描述】:

我想制作一系列地图,例如map1, map1, map3, etc...,我想用循环来完成。这不起作用:

for (i = 1; i++){

    def map[ i ]

我怎样才能做到这一点?

【问题讨论】:

  • 为什么这篇文章得到-3票?因为缺少子句?

标签: java loops groovy map


【解决方案1】:

你可以这样做:

def listOfMaps = (1..10).collect { [:] }

这将创建一个包含 10 个地图的列表

如果这不是你想要的,你将不得不解释你想要做什么;-)

【讨论】:

    【解决方案2】:

    在 groovy 中,maps 需要任意数量的键/值对。此外,您的 for 循环缺少一个子句。试试这个:

    maps = [] // A list which will store maps.
    for (i=0; i<10; i++) {
      maps[i] = [i:i]
    }
    maps[0] // => [i:0]
    maps[1] // => [i:1] ...
    maps[9] // => [i:9]
    

    【讨论】:

    • 'maps' 在这种情况下是一个列表,而不是一个数组
    • 嘿,谢谢,这就是我所追求的!但更深入地说,假设我想要多个“地图”,例如您在上面定义的“将存储地图的数组”......如何做到这一点?
    • 此外,没有键的地图是完全有效的。短语 '..any number of key/value pairs..' 似乎暗示你必须至少有一个......但这可能只是我过于挑剔;-)
    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    相关资源
    最近更新 更多