net.datastructures is a Java package containing a collection of Java interfaces and classes that implement fundamental data structures and algorithms, such as: sequences, trees, priority queues, search trees, hash tables; sorting algorithms; graphs, their traversals, and applications, (e.g. shortest paths). The package was designed for educational use. It provides a set of functional components defined by simple APIs and easy to use. The code is readable, reliable, asymptotically efficient, and object-oriented. Programming can be done through interfaces only, with knowledge of specific implementations necessary only for specialized applications. net.datastructures has been developed at Brown University and at the University of California, Irvine. The work on this project was supported in part by the National Science Foundation under grants DUE-0231202 and DUE-0231467.