Deep Java dive in data structures