3
我有一個數組,我想從它構建一個映射記錄數組中元素的頻率。所以對於下面的例子,map = [15:2,16:1]就是它的樣子。我如何在Groovy中做到這一點?建立頻繁計數地圖在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
}
至於你的代碼有什麼問題。首先,如果你想讓地圖成爲地圖,地圖應該用[:]初始化。第二,你不能把v ++放到地圖中,那就是15 ++,16 ++等值。使用map.put k,map.get(k)++ – billjamesdev