Collections are used to store, retrieve and manipulate data, and to transmit data from one method to another. Collection implementations in earlier versions of Java included Vector , Hashtable , and array . While earlier versions of Java contained collection implementations, they did not contains a collections framework . A collections framework is a unified architecture for representing and manipulating collections.
Interfaces allow collections to be manipulated independently of the details of their representation.
In object-oriented languages like Java, these interfaces generally form a hierarchy. In essence, these are reusable data structures . These algorithms are said to be polymorphic because the same method can be used on many different implementations of the appropriate collections interface. In essence, algorithms are reusable functionality . By providing useful data structures and algorithms, a collections framework frees you to concentrate on the important parts of your program, rather than the low-level plumbing required to make it work.