A container class is a class that is used to hold objects in memory or external
storage. A container class acts as a generic holder. A container class has a predefined
behavior and a well-known interface. A container class is a supporting class whose
purpose is to hide the topology used for maintaining the list of objects in memory.
When a container class contains a group of mixed objects, the container is called
a heterogeneous container; when the container is holding a group of objects that
are all the same, the container is called a homogeneous container.