This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Dictionary is an obsolete relic that was created in Java 1.0. Sun's programmers made quite a lot of programming mistakes back then*, and this is one of those. Ignore the entire class and just use Map.
* How about Stack extending Vector instead of using one internally? Or Observable being an abstract class instead of an interface, with an abstract implementing class AbstractObservable like the current Observable to make it easier for people to implement it? Or Hashtable, Vector and StringBuffer being synchronized even though there isn't any reason for that?