What is Java collections?

Prior to Java 2, Java offered ad hoc sessions such as Vector, Stack, and Properties to shop and operate multiple things. Although instruction were quite useful, they were missing a main, unifying concept. Thus, the way that you used Vector was different from the way that you used Properties.

The Collections framework was developed to fulfill several objectives.

The structure had to be high-performance. The implementations for the essential Collections (dynamic arrays, connected information, plants, and hashtables) are extremely effective.

The structure had to allow different kinds of Collections to work in a similar way and with a higher level of interoperability.

Increasing and/or adjusting a Collection had to be easy.

Towards this end, the whole Collections structure is developed around a set of conventional connections. Several conventional implementations such as LinkedList, HashSet, and TreeSet, of these connections are given that you may use as-is and you may also apply your own Collection, if you choose.

Collections structure is a specific structure for comprising and adjusting Collections. All Collections frameworks contain the following:

Interfaces: These are subjective data types that signify Collections. Interfaces allow Collections to be controlled individually of the facts of their reflection. In object-oriented ‘languages’, connections generally form a structure.

Implementations, i.e., Classes: These are the tangible implementations of the Collection connections. In substance, they are recycleable information components.

Algorithms: These are the techniques that execute useful calculations, such as looking and organizing, on things that apply Collection connections. The methods are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate

Collection interface.

In addition to Collections, the structure describes several map connections and sessions. Maps store key/value sets. Although maps are not Collections in the appropriate use of the word, but they are completely incorporated with Collections.

The Collection Interfaces:

The Collections structure describes several connections. It provides an outline of eachinterface:

The Collection Interface:The Collection interface is the foundation upon which the Collections structure is built.

The List Interface: The List interface expands Collection and states the behaviour of an assortment that stores a sequence of components.

The Set: A Set is a Collection that cannot contain copy components. It models the statistical set abstraction.

The SortedSet: The SortedSet interface expands Set and states the behaviour of a set categorized in climbing purchase. In addition to those techniques defined by Set

The Map interface: The Map interface charts unique keys to values. A key is an object that you use to recover a value at a later date.

The Map.Entry: The Map.Entry interface enables you to work with a map access.

The SortedMap: The SortedMap interface expands Map. It ensures that the records are maintained in climbing key order.

The Enumeration: The Enumeration interface describes particularly by which you can enumerate (obtain one at a time) the sun and rain in a set of things.

The Collection Classes:

Java provides a set of standard collection sessions that apply Collection connections. Some of the sessions provide full implementations that can be used as-is and others are subjective category, providing skeletal implementations that are used as starting points for creating tangible Collections.


Implements most of the Selection interface.


Extends AbstractCollection and utilizes most of the Record interface.


Extends AbstractList for use by an assortment that uses successive rather than random access of its components.

The Linked List

The LinkedList category expands AbstractSequentialList and utilizes the Record interface. It provides a linked-list data structure.

The Array List

The ArrayList category expands AbstractList and utilizes the Record interface. ArrayList supports powerful arrays that can grow as needed.


Extends AbstractCollection and utilizes most of the Set interface.

Hash Set

HashSet expands AbstractSet and utilizes the Set interface. It creates an assortment that uses a hash table for storage space.

Linked Hash Set

LinkedHashSet keeps a connected listing of the records in the set, in the purchase in which they were placed. This allows insertion-order version over the set.

Tree Set

TreeSet provides an performance of the Set interface that uses a shrub for storage space. Objects are stored in categorized, climbing purchase.


Implements most of the Map interface.

Hash Map

The HashMap category uses a hashtable to implement the Map interface. This allows the performance time of basic functions, such as get( ) and put( ), to remain constant even for large sets.


The TreeMap category utilizes the Map interface by using a shrub. A TreeMap provides an efficient means of storing key/value sets in categorized purchase, and allows rapid recovery.

Linked Hash Map

This category expands HashMap and keeps a connected listing of the records in the map, in the purchase in which they were placed.

Identity Hash Map

This category utilizes AbstractMap. It is similar to HashMap except that it uses reference equal rights when comparing components.

The Collection Algorithms:

The Collections structure describes several techniques that can be applied to Collections and maps. These techniques are described as fixed techniques within the Collections category.

Several of particularly can throw a ClassCastException, which develops when an effort is created to compare not compatible types, or an UnsupportedOperationException, which develops when an effort is created to change an unmodifiable collection. Thus if you want to know about Java programming join a Java course.

Read More : What is so special about Java Collections Framework?