我想弄清楚我应该在 java 中使用类似于 groovy 的类似数据类型是什么?
我的常规代码如下
statistic = [:]
entries.each {
minute = it.getRequestTime()
value = it.getValue()
if (statistic[minute] == null) {
statistic[minute] = [:]
}
if (statistic[minute][value] == null) {
statistic[minute][value] = ['count': 0L, 'timesum': 0L, 'min': Long.MAX_VALUE, 'max': Long.MIN_VALUE]
}
}
我是 Groovy 新手,很难理解他们使用的数据类型。我可以理解他们在groovy中使用了Hashmap(statistic = [:]
)。但后者确实让我感到困惑。谁能帮我理解这段代码?
最佳答案
这些是嵌套的 map , map 中的 map 。
if (statistic[minute] == null)
这意味着,如果没有分钟
键的条目,则在此处放置一个新的空 map 。
if (statistic[minute][value] == null)
这意味着,如果统计[分钟]中没有条目
对于键值
,然后将另一个 map 放在那里。
关于java - groovy中的数据类型与java类似吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22038791/