Deque interface:
Deque interface represents a double-ended-queue. A deque represents a linear collection of elements that support insertion, retrieval and removal of elements at both ends.
Deques can be used both as FIFO (first-in, first-out) and LIFO (last-in, first-out). In a deque all new elements can be inserted, retrieved and removed at both ends.
Commonly used methods of Deque interface:
1. addFirst(Object obj): Inserts the specified element at the front of this deque.
Syntax: public void addFirst(Object obj)
2. addLast(Object obj): Inserts the specified element at the end of this deque.
Syntax: public void addLast(Object obj)
3. offerFirst(Object obj): Inserts the specified element at the front of this deque. Returns true if the element was added to this deque, else false.
Syntax: public boolean offerFirst(Object obj)
4. offerLast(Object obj): Inserts the specified element at the end of this deque. Returns true if the element was added to this deque, else false.
Syntax: public boolean offerLast(Object obj)
5. removeFirst(): Returns and removes the first element of this deque. It throws an exception if this deque is empty.
Syntax: public Object removeFirst()
6. removeLast(): Returns and removes the last element of this deque. It throws an exception if this deque is empty.
Syntax: public Object removeLast()
7. pollFirst(): Returns and removes the first element of this deque. Returns null if this deque is empty.
Syntax: public Object pollFirst()
8. pollLast(): Returns and removes the last element of this deque. Returns null if this deque is empty.
Syntax: public Object pollLast()
9. getFirst(): Returns but does not removes the first element of this deque. It throws an exception if this deque is empty.
Syntax: public Object getFirst()
10. getLast(): Returns but does not removes the last element of this deque. It throws an exception if this deque is empty.
Syntax: public Object getLast()
11. peekFirst(): Returns but does not removes the first element of this deque. Returns null if this deque is empty.
Syntax: public Object peakFirst()
12. peekLast(): Returns but does not removes the last element of this deque. Returns null if this deque is empty.
Syntax: public Object peekLast()
13. removeFirstOccurrence(): Removes the first occurrence of the specified element from this deque. Returns true if specified element is removed from this deque otherwise returns false.
Syntax: public boolean removeFirstOccurrence()
14. removeLastOccurrence(): Removes the last occurrence of the specified element from this deque. Returns true if specified element is removed from this deque otherwise returns false.
Syntax: public boolean removeLastOccurrence()
A simple example of ArrayDeque class to explain few methods of Deque interface.
ArrayDequeTest.java
import java.util.ArrayDeque; import java.util.Deque; import java.util.Iterator; /** * This class is used to show the ArrayDeque functionality. * @author w3schools */ public class ArrayDequeTest { public static void main(String args[]){ //Create ArrayDeque object. Deque arrayDeque = new ArrayDeque(); //Add objects to the ArrayDeque. arrayDeque.add("Gourav"); arrayDeque.add("Neeraj"); arrayDeque.add("Deepak"); arrayDeque.add("Mohan"); arrayDeque.add("Parmender"); //Print the ArrayDeque object. System.out.println("ArrayDeque elements:"); System.out.println(arrayDeque); //Print the ArrayDeque elements using iterator. Iterator iterator1=arrayDeque.iterator(); System.out.println("ArrayDeque elements " + "using iterator:"); while(iterator1.hasNext()){ System.out.println(iterator1.next()); } //Print the first element of the ArrayDeque. System.out.println("First element: " + arrayDeque.getFirst()); //Print the last element of the ArrayDeque. System.out.println("Last element: " + arrayDeque.getLast()); //Remove the first element of the ArrayDeque. arrayDeque.pollFirst(); //Remove the last element of the ArrayDeque. arrayDeque.pollLast(); //Print the ArrayDeque object. System.out.println("ArrayDeque elements " + "after manipulation:"); System.out.println(arrayDeque); //Print the ArrayDeque elements using iterator. Iterator iterator2=arrayDeque.iterator(); System.out.println("ArrayDeque elements after " + "manipulation using iterator:"); while(iterator2.hasNext()){ System.out.println(iterator2.next()); } } } |
Output:
ArrayDeque elements: [Gourav, Neeraj, Deepak, Mohan, Parmender] ArrayDeque elements using iterator: Gourav Neeraj Deepak Mohan Parmender First element: Gourav Last element: Parmender ArrayDeque elements after manipulation: [Neeraj, Deepak, Mohan] ArrayDeque elements after manipulation using iterator: Neeraj Deepak Mohan |
Download this example.
Next Topic: Enumeration interface in java with example.
Previous Topic: Queue interface in java with example.