interfaces, the abstract data types that the framework supports.
implementations, the concrete versions of these interfaces.
algorithms, the predefined actions that can be defined on either the interfaces or their implementations.
All implementations are unsynchronized.
All implementations are serializable and cloneable
All implementations support having null elements.
The predefined algorithms for supporting the framework are found in the Collections and Arrays classes.