Java Data Structures Course Work