Collection Framework

Collections in Java


The Collection in Java is a framework that provides an architecture to store and manipulate the group of objects.

Java Collections can achieve all the operations that you perform on a data such as searching, sorting, insertion, manipulation, and deletion.

What is Collection in Java

A Collection represents a single unit of objects, i.e., a group.

What is a framework in Java

  • It provides readymade architecture.
  • It represents a set of classes and interfaces.
  • It is optional.

What is Collection framework

The Collection framework represents a unified architecture for storing and manipulating a group of objects. It has:

  1. Interfaces and its implementations, i.e., classes
  2. Algorithm


Methods of Collection interface

There are many methods declared in the Collection interface. They are as follows:

Method

Description

public boolean add(E e)

It is used to insert an element in this collection.

public boolean addAll(Collection<? extends E> c)

It is used to insert the specified collection elements in the invoking collection.

public boolean remove(Object element)

It is used to delete an element from the collection.

public boolean removeAll(Collection<?> c)

It is used to delete all the elements of the specified collection from the invoking collection.

public boolean retainAll(Collection<?> c)

It is used to delete all the elements of invoking collection except the specified collection.

public int size()

It returns the total number of elements in the collection.

public void clear()

It removes the total number of elements from the collection.

public boolean contains(Object element)

It is used to search an element.

public Iterator iterator()

It returns an iterator.

public boolean isEmpty()

It checks if collection is empty.

public boolean equals(Object element)

It matches two collections.

 

Collection Interface

The Collection interface is the interface which is implemented by all the classes in the collection framework. 

List Interface

List interface is the child interface of Collection interface. It inhibits a list type data structure in which we can store the ordered collection of objects. It can have duplicate values.

List interface is implemented by the classes ArrayList, LinkedList, Vector, and Stack.

ArrayList

The ArrayList class implements the List interface. It uses a dynamic array to store the duplicate element of different data types. The elements stored in the ArrayList class can be randomly accessed. 


Java LinkedList class


Java LinkedList class uses a doubly linked list to store the elements. The important points about Java LinkedList are:

  • Java LinkedList class can contain duplicate elements.
  • In Java LinkedList class, manipulation is fast because no shifting needs to occur

Java Vector

Vector is like the dynamic array which can grow or shrink its size. Unlike array, we can store n-number of elements in it as there is no size limit. It is a part of Java Collection framework since Java 1.2. It is found in the java.util package and implements the List interface, so we can use all the methods of List interface here.


Stack

The stack is the subclass of Vector. It implements the last-in-first-out data structure, i.e., Stack. The stack contains all of the methods of Vector class and also provides its methods like boolean push(), boolean peek(), boolean push(object o), which defines its properties.


Queue Interface

Queue interface maintains the first-in-first-out order. It can be defined as an ordered list that is used to hold the elements which are about to be processed. There are various classes like PriorityQueue, Deque, and ArrayDeque which implements the Queue interface.

There are various classes that implement the Queue interface, some of them are given below.


PriorityQueue

The PriorityQueue class implements the Queue interface. It holds the elements or objects which are to be processed by their priorities. PriorityQueue doesn't allow null values to be stored in the queue.

Deque Interface

Deque interface extends the Queue interface. In Deque, we can remove and add the elements from both the side. Deque stands for a double-ended queue which enables us to perform the operations at both the ends.

ArrayDeque

ArrayDeque class implements the Deque interface. It facilitates us to use the Deque. Unlike queue, we can add or delete the elements from both the ends.

ArrayDeque is faster than ArrayList and Stack and has no capacity restrictions.


Set Interface

Set Interface in Java is present in java.util package. It extends the Collection interface. It represents the unordered set of elements which doesn't allow us to store the duplicate items. We can store at most one null value in Set. Set is implemented by HashSet, LinkedHashSet, and TreeSet.

HashSet

HashSet class implements Set Interface. It represents the collection that uses a hash table for storage. Hashing is used to store the elements in the HashSet. It contains unique items.


LinkedHashSet

LinkedHashSet class represents the LinkedList implementation of Set Interface. It extends the HashSet class and implements Set interface. Like HashSet, It also contains unique elements. It maintains the insertion order and permits null elements.

TreeSet

Java TreeSet class implements the Set interface that uses a tree for storage. Like HashSet, TreeSet also contains unique elements. However, the access and retrieval time of TreeSet is quite fast. The elements in TreeSet stored in ascending order.

Post a Comment

1 Comments

Emoji
(y)
:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
x-)
(k)