Collection Framework in JAVA 1
Collection Framework
Collection framework was not part of original Java release. Collections was added to J2SE 1.2. Prior to Java 2, Java provided adhoc classes such as Dictionary, Vector, Stack and Properties to store and manipulate groups of objects. Collection framework provides many important classes and interfaces to collect and organize group of alike objects.
All the operations that you perform on a data such as searching, sorting, insertion, manipulation, deletion etc. can be performed by Java Collections.
Important Interfaces of Collection API
Interface | Description |
Collection | Enables you to work with groups of object; it is at the top of collection hierarchy. |
List | Extends collection to handle sequences list of object. |
Queue | Extends collection to handle special kind of list in which element are removed only from the head. |
Deque | Extends queue to handle double ended queue. |
Set | Extends collection to handle sets, which must contain unique element. |
SortedSet | Extends sets to handle sorted set. |
What is Collection framework?
Collection framework represents a unified architecture for storing and manipulating group of objects. It has:
1. Interfaces and its implementations i.e. classes
2. Algorithm
Why Collections were made Generic ?
Generics added type safety to Collection framework. Earlier collections stored Object class references. Which means any collection could store any type of object. Hence there were chances of storing incompatible types in a collection, which could result in run time mismatch. Hence Generics was introduced, now you can explicitly state the type of object being stored.
Collections and Autoboxing
We have studied that Autoboxing converts primitive types into Wrapper class Objects. As collections doesn't store primitive data types(stores only refrences), hence Autoboxing facilitates the storing of primitive data types in collection by boxing it into its wrapper type.
Most Commonly thrown Exceptions in Collection Framework
Exception Name | Description |
UnSupportedOperationException | occurs if a Collection cannot be modified |
ClassCastException | occurs when one object is incompatible with another |
NullPointerException | occurs when you try to store null object in Collection |
IllegalArgumentException | thrown if an invalid argument is used |
IllegalStateException | thrown if you try to add an element to an already full Collection |