2017-01-17 3 views

답변

3

고칠 수 있도록 관리했습니다. 키가 키 1, 키 2, 키되는 키 값 저장 (사전)를 사용하여 값의 연선

뭔가 등 값 1, 값, VALUE3의 세트 (또는 배열)이다 :

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

'#groupedBy :'를 사용할 수도 있습니다. '{# key1 -> # value1. # key2 -> # value2. # key1 -> # value3. } groupedBy : # key' –

+1

또한'at : ifAbsentPut :'는 보통 블록을 두번째 인자로 취하므로'[Set New]'... 그래서 필요한 경우에만 Set이 생성된다 –

+2

@Peter you needed'(.. groupedBy : #key) collect : [: coll | coll collect : #value]'또는 값이 연관 컬렉션 인 – Uko