在Pharo Smalltalk中存储多个值的键的好方法



>我有一个键值存储(字典),由以下部分组成:

key1 value1
key2 value1
key3 value3
key1 value4
key3 value4
and so on

我想对这些进行分组,以便键只出现一次(键排序是可选的)和值:

key1 value1, value4
key2 value1
key3 value3, value4

问题:是否有一种专用的方式来存储结果?

设法

修复了它。使用键值存储(字典),其中键是键 1、键 2、键 3,值是值 1、值 2、值 3 等的集合(或数组)。

大致如下:

keys do: [ :eachKey | (eachKey condition) ifTrue: [
    keyValueStorage at: eachKey ifAbsentPut: [ Set new. ]
    ( keyValueStorage at: eachKey ) add: value. ] ] .

最新更新