MODULE AssociativeArray; IMPORT ADT:Dictionary, Object:Boxed, Out; TYPE Key = STRING; Value = Boxed.LongInt; VAR assocArray: Dictionary.Dictionary(Key,Value); iterK: Dictionary.IterKeys(Key,Value); iterV: Dictionary.IterValues(Key,Value); aux: Value; k: Key; BEGIN assocArray := NEW(Dictionary.Dictionary(Key,Value)); assocArray.Set("ten",NEW(Value,10)); assocArray.Set("eleven",NEW(Value,11)); aux := assocArray.Get("ten"); Out.LongInt(aux.value,0);Out.Ln; aux := assocArray.Get("eleven"); Out.LongInt(aux.value,0);Out.Ln;Out.Ln; (* Iterate keys *) iterK := assocArray.IterKeys(); WHILE (iterK.Next(k)) DO Out.Object(k);Out.Ln END; Out.Ln; (* Iterate values *) iterV := assocArray.IterValues(); WHILE (iterV.Next(aux)) DO Out.LongInt(aux.value,0);Out.Ln END END AssociativeArray.