This is a nice smart looking book with enough white space so that it is easy on the eye. It has icons in the margins for examples and output, I especially like to see the output from a program. It starts with a section describing Java (452 pages worth) and then steps into the second part of the book, which is the APIs.
This book is aimed at the beginner in programming for Java, with clear, short, simple examples to follow. Luckily the examples are downloadable from the quepublishing web site as there are almost 200 examples. Except for a very large example in the beginning the examples are short, uncluttered and complete. They contain the output from running the code, which other books stupidly miss.
The examples explain things ranging from Class Instance Initalisers, nested classes, inheritance, scheduling of threads, etc. in the first part of the book. Then in the second part of the book it goes into the API and shows examples of collections like lists, hash sets and iterating over them. It also includes streams, files, random numbers and other maths examples. It seemingly covers all of the standard API classes with enough to be able to help yourself to the other, lesser used, classes.
This looks like a very good book with a good index, plenty of examples and if you like them, additional things to do at the end of each chapter, with the answers to the additional question in the book. Nothing worse that trying to figure out where you have gone wrong without the answers. It covers the latest Java 2 SDK 1.4.
I've enjoyed reading this book as it has taught me about Instance Initialisers and creating classes using Interfaces, both things I need for some of my projects. If you have just started, or struggling to get off of the ground with Java, then this book will certainly help with that initial learning curve.