Introduction to Collections Framework

The Collections Framework provides a well-designed set of interfaces and classes for storing and manipulating the groups of data into a single unit.

Introduction to Collections Framework

The Collections Framework provides a well-designed set of interfaces and classes for storing and manipulating the groups of data into a single unit.

Introduction to Collections Framework

Introduction to Collections Framework

     

Collections Framework:

The Collections Framework provides a well-designed set of interfaces and classes for storing and manipulating the groups of data into a single unit. The collections framework is a unified architecture which is used to represent and manipulate collections. The framework allows the collections to get manipulated independently, additionally it reduces the programming efforts and increases performance.

It includes implementation of interfaces and algorithms. Basically it is a unified architecture that consists the following collections:  

  1. Interfaces: These are the abstract data types that represent collections. With the help of interfaces we  manipulate collections independently. A hierarchy is generally formed with interfaces in object-oriented languages.
  2. Implementations: They are the reusable data structures with the concrete implementations of the collection interfaces.
  3. Algorithms: Algorithms are used to perform computations, such as searching, sorting etc on the objects that implement collection interfaces. They provide reusable functionality i.e. the same method can be used with different implementations of the collection interfaces. Hence they are also said to be polymorphic.  
  4. General-purpose Implementations: These are the primary implementations of the collection interfaces.  
  5. Infrastructure: Interfaces that provide essential support for the collection interfaces.  
  6. Array Utilities: Utility functions for arrays of primitives and reference objects.
    This functionality was added to the Java platform as a part of the Collections Framework. 

Advantages of collections framework:

The Java Collections Framework provides the following benefits:

  1. Reduces the efforts to learn and use the new APIs: We need not to learn multiple ad hoc collection APIs.  
  2. Fosters software reuse: It provides a standard interface for collections that fosters software reuse and also provides algorithms to manipulate them.  
  3. Reduces the efforts to design new APIs: It reduces the efforts required to design and implement APIs by eliminating the need to produce ad hoc collections APIs.  
  4. Reduces the programming efforts: It provides useful data structures and algorithms that reduces programming efforts due to which we need not to write them ourselves.  
  5. Increases performance: It provides high-performance implementations of useful data structures and algorithms that increases the performance.
  6. Provides interoperability between the unrelated APIs: It helps in establishing a common language to pass collections back and forth to provide interoperability between the unrelated APIs.
  7. Provides resizable capability: Collection is resizable i.e.  it can grow dynamically.

Disadvantages of collections framework:

  1. It must cast to correct type.
  2. avoids the compile-time type checking.