This is a nicely laid-out hardback book suggested as a suitable text for a 2nd year Computer Science student.
The book is divided into eighteen chapters and three appendices. The appendices cover the Unified Modelling Language Notation, a very short discussion of the Complexity of Algorithms and an explanation of obtaining and installing the associated foundation classes used in the book. The rest of the text is split into two sections, one covering OOP and Java basics and the rest detailing Data Structures and their use in Java.
The first eight chapters go through a quick introduction to OOP and the Java language; the relationships between classes, how a class is constructed and named and how to handle exceptions. The rest of the book uses the usual structure of a text on Data Structures, with separate chapters on the main structures; ADTs, Stacks, Queues, Lists, etc. Each of these chapters show the reader a way of setting up and using the structure and uses a nice highlightedblock to emphasise the code.
For a new user I did not think there were enough diagrams showing how the data structures are accessed as I feel this always helps cement the idea into the reader. I do not think this text would be ideal for anyone starting to learn OOP, but the reader wishing to learn how to implement the various Data Structures in Java would be pleased.