Fundamentals of Java

What's New in the Third Edition

Required Useful but Not Required Fun and Challenging
Generic Collections Autoboxing and Unboxing Graphics and GUIs
Enhanced for Loop Enhanced Terminal Input  
Formatted Output