중첩 된 사전과 가장 낮은 수준의 목록을 사용하는 데이터 구조를 만듭니다. - 즉, country --> customer --> purchased
입니다VBA 사전에 저장된 배열 업데이트
Country, Customer, Purchased
US, Alan, Lawnmower
US, Alan, Hammer
US, Karen, Donkey
US, Simon, Mustang
MX, Carl, Lawnmower
MX, Alan, Donkey
...
내가 생각하고있는 데이터 구조가 dictionary --> dictionary --> array
과 같다 : 여기에 내 데이터의 샘플입니다. 이 계획은 dictionary --> dictionary
조합 당 새로운 배열이 될 계획입니다.
그러나 배열을 업데이트하려고하면 dictionary --> dictionary
구조의 모든 하위 수준에 연결되어있는 것처럼 보입니다. 내가보고 기대하고있어 반면 ...
US --> Alan --> [Lawnmower, Hammer, Donkey]
US --> Karen --> [Lawnmower, Hammer, Donkey]
: 여기
US --> Alan --> [Lawnmower, Hammer]
US --> Karen --> [Donkey]
내가 시도하고있어 코드의 세 번째 행이 처리 된 후 즉, 다음과 같은 상황이됩니다 사용 :
i_p = UBound(purchased_array)
Redim Preserve purchased_array(i_p + 1)
purchased_array(i+p + 1) = item ' new item to add to the array
dataset(country)(customer) = purchased_array
그러나 이것은 dictionary --> dictionary
구조의 각 최하위 레벨에 의해 참조되는 기본적으로 동일한 배열을 초래한다.
내가 잘못하고있는 것에 대한 의견이 있으십니까?
왜'사전 -> 사전 -> 배열', 왜'사전 -> 사전 -> 수집'? –
''컬렉션 '은 키 데이터 구조라고 믿었습니까? 배열 대신 사용할 수 있을까요? –
컬렉션 개체 지원'.Add (Item, [Key])'메서드를 지원하지만 키는 선택적입니다. 그래서, 당신은 그것을 생략 할 수 있습니다. 귀하의 경우 배열 대신 모음을 사용하는 것이 훨씬 더 간단합니다 –