Collections in Java
A Collection is a group of individual objects represented as a single unit. Java provides
Collection Framework which defines several classes and interfaces to represent a
group of objects as a single unit.
The Collection interface (java.util.Collection) and Map interface (java.util.Map) are the
two main “root” interfaces of Java collection classes.
Need for Collection Framework :
Before Collection Framework (or before JDK 1.2) was introduced, the standard methods for
grouping Java objects (or collections) were Arrays or Vectors or Hashtables. All of these
collections had no common interface.
(1) Arrays are fixed in size that is once we create an array we can not increased or
decreased based on our requirement
(2) Can hold only homogeneus
Employee [] employee = new Employee [100];
employee [0] = new Employee();
employee [1] = new Student() error
Solutions := Object Array
Object [] employee = new Object [100];
employee [0] = new Employee();
employee [1] = new Student();
(3) No Readymade Method Supports
#Diffrence Between Array and collections
Arrays Collections
Fixed in size. Grawable in nature.
Can hold only homogenous Can hold both homogenous and heterogeneous
elements.( Primitives and Objects elements. (No primitives ,Only objects of same and
of same type). different type).
Not recommended to use in
Recommended to use in memory point of view.
memory point of view.
Recommended to use in Not recommended to use in performance point of
performance point of view. view.
For any requirement, there is no ready method available.
For any requirement, there is no
ready method available.
Collection : Root interface with basic methods like add(),
remove(),
contains(), isEmpty(), addAll(), ... etc.
List : Can contain duplicates and elements are ordered. Example
implementations are LinkedList (linked list based) and
ArrayList (dynamic array based)
Set : Doesn't allow duplicates. Example implementations of Set
interface are HashSet (Hashing based) and TreeSet (balanced
BST based). Note that TreeSet implements SortedSet.
Queue : Typically order elements in FIFO order except exceptions
like PriorityQueue.
Deque : Elements can be inserted and removed at both ends. Allows
both LIFO and FIFO.
Map : Contains Key value pairs. Doesn't allow duplicates. Example
implementation are HashMap and TreeMap.
TreeMap implements SortedMap.
The difference between Set and Map interface is that in Set we
have only keys, whereas in Map, we have key, value pairs