Data structures in Java and whatnot