So, if I understand correctly, you have a Map (a set of key-value pairs), and you want to process the keys (but not the values--at least not at the moment). This implies the keys have some interesting meaning to your code in addition to their value for looking up entries in the Map. Fine to start, I think.
So now to the processing of the keys... The switch statement executes some code that differs depending on the value of the key (not the value the key points to in the Map, but the key itself--good old English
polymorphism at work, but I digress). Now, what are these different things? Do they depend on the value the key points to in the Map? Dependence could involve something as simple as calling the same code with different parameters, or it could mean calling entirely different bits of code. If the former, you could remove the switch altogether and keep the parameters for a call to another method in another Map (with the same keys), and just get the parameters and call the method in the same way for every key. If the latter, you could use a Command
pattern, and create little handler objects that do the different things, and keep the handlers in a Map using the keys.
Incidentally, if you use a TreeMap, the iterator on the keySet will return the keys in sorted order.
Best,
Rick