Even a map iterates through a tree. As I said before. Iteration is done somewhere but mostly hidden behind some function or encapsulated in a class/template or however you name it.
I was not talking about trees as a data structure, but as a graphical control... neither was the OP.
This is also why I said that there's a direct relationship between the map keys and their values... If you use the pointers to the values as keys, there's no iteration during lookup. In my experience, this is how most tree-controls are implemented... they use pointers (or handles) to the data.
The graphical tree control is free to use whatever implementation it wants in order to speed up the lookups...
But even the traversal of a tree is done in steps that are done the same way in each step, so it is an iteration anyways you use a loop inside or recursive call to the traversal function.
You do not need to traverse the whole map just to get to the item you want... That's the whole point of maps.