Implementations of various Datastructures in Java