我有一个数组,我想建立一个地图,记录数组中元素的频率.因此,对于下面的示例,map = [15:2,16:1]就是它的样子.我如何在Groovy中执行此操作?
static void doSomething()
{
def a = [15,16,15]
def map = []
a.each{
k,v->
if(map.contains(it))
map.putAt k, v++
else
map.putAt k, 1;
}
println map
}
Run Code Online (Sandbox Code Playgroud)
doe*_*eri 13
在Groovy 1.8或更高版本中,
assert [15, 16, 15].countBy { it } == [15: 2, 16: 1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |