私は反復的に返します(key, value)
を返すアルゴリズムがあります。私がしたいことは、key
が存在しない場合は、それを追加し、それに対応するvalue
を追加するような構造にこれらの結果を格納することです。現在、キーが存在する場合、既存の値の配列にvalue
を追加します。適切なScalaのコレクションは、Pythonの辞書に似て
dict = {'key1': [val1, val2, val3],
'key2': [val4, val5],
'key3': [val6], ... }
を単に実行します:Pythonで
、私はこのフォーマットでPythonの辞書を使ってこれを行うことができます
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、このメソッドは呼び出されるたびに新しいマップを作成しますか? – jtitusj