"A lovely book.... I will use this book a lot in the next few months on a Java project I′m just starting." (CVu, December 2001)
From the Back Cover
Java Collections is an introductory text on abstract data types, data structures, and algorithms using Java. Written at an appropriate level for a first course in algorithms and data structures, or a second course in programming using Java, this text concentrates on pratical matters like software design and the Jave Collections framework. Only essential supporting theory is included. The text focuses on abstract data types (ADTs) that turn up again and again in software design. It uses these ADTs to introduce and motivate the data structures required to implement them and the algorithms associated with the data structures. This approach helps Java programmers to choose the most suitable collection classes for their applications. Not only undergraduate students but also professional programmers retraining the program in Java will benefit form this even–paced and example–led text. Key features of the text: ∗ emphasizes good object–oriented software design and implementation ∗ presents algorithms both in English and in Java, and shows how to analyze their efficiency (with only light mathematics) ∗ introduces the concept of an abstract data type, shows how to use a "contract" to specify the abstract data type′s contract and its implementation in terms of a suitbale data structure and algorithms ∗ covers a variety of abstract data types (stacks, queues, lists, sets, maps, priority queues, trees, and graphs), compares alternative implementations of these abstract types, and relates them to the Java collection classes ∗ features numerous examples and case studies showing how the abstract data types are used in practical applciaitons ∗ contains numerous graded exercises, offering opportunities to explore alternatives to the designs and implementations presented in the text ∗ includes appendices summarizing the mathematics of algorithm analysis, the relevant features of the Java programming language, and the Java collection classes.