Data Structures in Java. Revisiting Basic Concepts and Data Structures in Java