我有一個算法,返回迭代返回(key, value)
。我想要做的就是將這些結果存儲在一個結構中,如果key
不存在,它會將其添加到相應的value
中。現在,如果密鑰存在,它會將value
附加到現有值的數組。適當的斯卡拉集合類似於Python字典
在Python中,我可以使用Python字典這種格式做到這一點:
dict = {'key1': [val1, val2, val3],
'key2': [val4, val5],
'key3': [val6], ... }
,只是做:
if key in dict.keys():
dict[key].append(value)
else:
dict[key] = [value]
如何做到這一點的Scala呢?
另一個'insert'實現'm +(k - >(m.getOrElse(k,List()):+ v))'? –
@SergeyLagutin,我同意。簡潔明瞭。 – jwvh
@jwvh,這種方法每次調用時都會創建一個新的Map嗎? – jtitusj