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:
- Interfaces and its implementations, i.e., classes
- 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.
1 Comments
This comment has been removed by the author.
ReplyDelete