ArrayDeque

Learn ArrayDeque in Java with Programming Example

ArrayDequeIn this chapter you will learn:

  1. What is ArrayDeque?
  2. Declaration of ArrayDeque
  3. Programming Example
What is ArrayDeque in Java?

ArrayDeque is a resizable array implementation in Deque. Some fact about ArrayDeque are as follow:

  • It is a resizable array implementation in Deque.
  • It has no capacity restriction so it grows as necessary.
  • It is not thread safe
  • It doesn’t allow null element
  • It is faster than stack when used as stack and faster than linked list when used as linked list.

Constructors

Constructors Descriptions
ArrayDeque() Constructs an empty array deque with an initial capacity sufficient to hold 16 elements.
ArrayDeque(Collection<? extends E> c) Constructs a deque containing the elements of the specified collection, in the order they are returned by the collection’s iterator.
ArrayDeque(int numElements) Constructs an empty array deque with an initial capacity sufficient to hold the specified number of elements.

Methods

Methods Descriptions
boolean add(E e) Inserts the specified element at the end of this deque.
void addFirst(E e) Inserts the specified element at the front of this deque.
void addLast(E e) Inserts the specified element at the end of this deque.
void clear() Removes all of the elements from this deque.
ArrayDeque<E> clone() Returns a copy of this deque.
boolean contains(Object o) Returns true if this deque contains the specified element.
Iterator<E> descendingIterator() Returns an iterator over the elements in this deque in reverse sequential order.
E element() Retrieves, but does not remove, the head of the queue represented by this deque.
E getFirst() Retrieves, but does not remove, the first element of this deque.
E getLast() Retrieves, but does not remove, the last element of this deque.
boolean isEmpty() Returns true if this deque contains no elements.
Iterator<E> iterator() Returns an iterator over the elements in this deque.
boolean offer(E e) Inserts the specified element at the end of this deque.
boolean offerFirst(E e) Inserts the specified element at the front of this deque.
boolean offerLast(E e) Inserts the specified element at the end of this deque.
E peek() Retrieves, but does not remove, the head of the queue represented by this deque, or returns null if this deque is empty.
E peekFirst() Retrieves, but does not remove, the first element of this deque, or returns null if this deque is empty.
E peekLast() Retrieves, but does not remove, the last element of this deque, or returns null if this deque is empty.
E poll() Retrieves and removes the head of the queue represented by this deque (in other words, the first element of this deque), or returns null if this deque is empty.
E pollFirst() Retrieves and removes the first element of this deque, or returns null if this deque is empty.
E pollLast() Retrieves and removes the last element of this deque, or returns null if this deque is empty.
E pop() Pops an element from the stack represented by this deque.
void push(E e) Pushes an element onto the stack represented by this deque.
E remove() Retrieves and removes the head of the queue represented by this deque.
boolean remove(Object o) Removes a single instance of the specified element from this deque.
E removeFirst() Retrieves and removes the first element of this deque.
boolean removeFirstOccurrence(Object o) Removes the first occurrence of the specified element in this deque (when traversing the deque from head to tail).
E removeLast() Retrieves and removes the last element of this deque.
boolean removeLastOccurrence(Object o) Removes the last occurrence of the specified element in this deque (when traversing the deque from head to tail).
int size() Returns the number of elements in this deque.
Object[] toArray() Returns an array containing all of the elements in this deque in proper sequence (from first to last element).
<T> T[] toArray(T[] a) Returns an array containing all of the elements in this deque in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.

Methods Inherited From Class

Class Methods
java.util.AbstractCollection addAll(), containsAll(), removeAll(), retainAll(), toString()
java.lang.Object equals(), finalize(), getClass(), hashCode(), notify(), notifyAll(), wait(), wait(), wait()
java.util.Collection addAll(), containsAll(), equals(), hashCode(), removeAll(), retainAll()

Declaration:

ArrayDeque aq=new ArrayDeque();

Programming Example

import java.util.*;
class ArrayDeque_Example
{
  public static void main(String[] args)
  {
    ArrayDeque aq=new ArrayDeque();
    aq.push("C#");
    aq.push("Java");
    aq.push("HTML");
    aq.push("ASP.Net");
    
    //Printing ArrayDeque
    Iterator itr=aq.iterator();
    while(itr.hasNext())
    {
      System.out.print(itr.next()+ " ");
    }
    
    //Removing one Item
    System.out.println("\nItem Removed : " + aq.pop());
    
    //Printing ArrayDeque Again
    System.out.println(aq);
    
    //Adding Element at First Position
    aq.addFirst("PHP");
    //Adding Element at Last Position
    aq.addLast("JavaScript");
    
    //Printing ArrayDeque
    System.out.println(aq);
    
    //Finding Element
    if(aq.contains("Java"))
    {
      System.out.println("Java is found in this list");
    }
  }
}

Output

D:\JavaProgram>javac ArrayDeque_Example.java
D:\JavaProgram>java ArrayDeque_ExampleASP.Net HTML Java C#
Item Removed : ASP.Net
[HTML, Java, C#]
[PHP, HTML, Java, C#, JavaScript]
Java is found in this list
_

Summary

In this chapter you have learned ArrayDeque in Java. It is very easy to learn collection using complete programming example. In the next chapter you will learn Set Interface in Java.


Leave a Reply

Your email address will not be published. Required fields are marked *