AssociationClasses can be adapted, with some UML tools, to represent an AssociativeArray. Others, like Together/*, don't provide 'em. Just having a map
OK. It depends whose intuition you are using. To my intuition AssociationClasses are so wooly that they are basically no use, for associative arrays or for anything else. Meanwhile, the QualifiedAssociation seems to have exactly the properties of a member of a class that's an associative array (in one direction only, so you also need to know what you want the associative array for...). For this view to work, you need to be sophisticated enough to recognise that the hard distinction that the UML forces between data members, operations that return values, and associations is desperately unhelpful. But then, some people have UmlIssuesWithQualifiedAssociation.