Java Concepts
Strategy for Defining Immutable Objects
Making your custom Data Structure / Object Iterable so that you can use a for loop to iterate it
Serializing your Data Structure / Object so that you can send it through network or save to disk
Making your Data Structure / Object Cloneable
History and Introduction of Functional Programming in Java
Mastering Java Streams: Real-Life Examples and Techniques