In the real world what do people use this for (to solve what types of problems)? Can I see some example code of these working together? All I can find is code about cats and
Have a look at the code for Map/AbstractMap/HashMap as an example. You will find thousands of other examples in the JDK source which comes with the JDK (in src.zip)