JDSL home The Data Structures Library in Java

About JDSL

The JDSL Team
JDSL is the Data Structures Library in Java. It is 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 and searching algorithms
  • graphs
  • graph traversals, shortest path, minimum spanning tree

A unique feature of JDSL is the concept of accessors, which allow powerful but safe operations on the internal representation of a data structure. Accessors are a generalization of iterators (iterators are also provided, for simple cases when sequential access is sufficient).

JDSL includes some 10 concrete data types and 30 utility and accessor classes. Each meets one or more of about 40 interfaces, with some 200 methods among them. The library was designed so that programming can be done through interfaces only, with knowledge of specific implementations necessary only for specialized applications.


The current version of JDSL requires the Java 2 SDK v. 1.4.


The development of JDSL has been supported in part by grant CCR-0098068 from the National Science Foundation.
Last updated 19 May 2005
Questions or comments: jdsl@cs.brown.edu