Key Benefit: This book not only teaches how to program in Java, but also how to develop high-quality software systems that will withstand the test of users and the test of time. Good software engineering practices are kept on the front lines of discussion when it comes to the more complicated data structures. Key Topics: The book is broken down into three parts allowing maximum flexibilty: Foundations, Linear Collections, and Nonlinear Collections. Readers can pick the order they wish to learn the information and skip items they already know without losing momentum. Market: A perfect follow-up to Lewis and Loftus' Java Software Solutions, Java Software Structures is for programmers who want to continue learning how to build software using Java.