posted 17 years ago
If you just need keys, use keySet(). If you just need values, use values(). If you're going to use keys and values in your subsequent code, then you're best off using entrySet().
I frequently see people do this without entrySet(), and it usually looks something like this:
This works, but it's making the JVM do extra work for no good reason. Every time you call get() you're making the JVM spend time doing a hashcode lookup, or navigating a tree and evaluating a comparator. These operations may be fast, or not, but why do them if you don't have to? A Map.Entry gives you both key and value, together, in the most efficient manner possible.
Under JDK 5 and later it's a little nicer:
"I'm not back." - Bill Harding, Twister