Efficient data structure design and analysis have long been seen as essential courses in computer science. The object-oriented paradigm serves as the foundation for Goodrich and Tomassia's approach to this timeless subject and is the preferred framework for data structure construction. An accompanying Java interface is provided by the authors for each ADT that is presented in the text. Java classes implementing the interfaces are offered as concrete data structures embodying the ADTs. The net.datastructures Java package contains all of the Java code used in this book to construct basic data structures. This package complements the Java Collections Framework by forming a cohesive library of Java data structures and algorithms specifically created for instructional purposes.