Absolute Java (6th Edition)
Solutions and explanations
Getting Started
Console Input and Output
Flow of Control
Defining Classes I
Defining Classes II
Arrays
Inheritance
Polymorphism and Abstract Classes
Exception Handling
File I/O
Recursion
UML and Patterns
Interfaces and Inner Classes
Generics and the ArrayList Class
Linked Data Structures
Collections, Maps, and Iterators
Swing I
Swing II
Java Never Ends