
What are differences between Enumeration, ArrayList, Hashtable and Collections and Collection?

Enumeration : It is series of elements. It can be use to enumerate through the elements of a vector, keys or values of a hashtable. We can not remove elements from Enumeration.
ArrayList : It is re-sizable array implementation. Belongs to 'List' group in collection. It permits all elements, including null. It is not thread safe.
Hashtable : It maps key to value. We can use non-null value for key or value. It is part of group Map in collection.
Collections : It implements Polymorphic algorithms which operate on collections.
Collection : It is the root interface in the collection hierarchy.