Comprehensive introduction to Java GUI programming. The best GUI related books on the market. The first
volume covers the AWT, with several great chapters on layout managers. It has incredible coverage of GridBagLayout.
The second volume is hands-down the best book written about Swing; it covers everything and it covers it well.
The book on algorithms. Sedgewick covers everything. Many of the algorithms are already
implemented by the Java core library (e.g. hashing and binary search), but many are not. There are
also Algorithms in Java volumes, but I own the C++ version.