Java Structures, the Book
Data Structures in Java, for the Principled Programmer
You are free to download Java Structures, the book, for educational use.  You may read the book on-line, or print off copies for use on your campus, at cost.
Support for labs
Most chapters of the book conclude with a workable lab on the same subject.  Many of these labs are used at Williams.  You can download support files here.