Programa Java para implementar la API ArrayDeque

ArrayDeque en Java proporciona cómo usar la array redimensionable además de la implementación de la interfaz Deque . También se conoce como Array Double Ended Queue o Array Deck. Esta es una array especial que crece y permite a los usuarios presentar o eliminar un componente de cada lado de la cola.

java.lang.Object

    java.util.AbstractCollection<E>

        java.util.ArrayDeque<E>

Todas las interfaces implementadas de ArrayDeque en la jerarquía son:

  • serializable, 
  • clonable, 
  • Iterable<E>, 
  • Colección<E>
  • Deque<E> 
  • Cola<E>

Array deques no tiene restricciones de capacidad; crecen según sea necesario para soportar el uso. No son seguros para subprocesos; en ausencia de sincronización externa, no admiten el acceso simultáneo de múltiples subprocesos. Los elementos nulos están prohibidos. Esta clase probablemente será más rápida que Stack cuando se usa como pila, y más rápida que LinkedList cuando se usa como cola.

Implementación:

Java

// Java program to demonstrate implementation
// of ArrayDeque
  
import java.util.*;
public class ArrayDequeExample {
    public static void main(String[] args)
    {
        // Initializing an deque
        Deque<Integer> de_que = new ArrayDeque<Integer>(10);
  
        // add() method to insert
        de_que.add(10);
        de_que.add(20);
        de_que.add(30);
        de_que.add(40);
        de_que.add(50);
  
        for (Integer element : de_que) {
            System.out.println("Element : " + element);
        }
  
        System.out.println("Using clear() ");
  
        // clear() method
        de_que.clear();
  
        // addFirst() method to insert at start
        de_que.addFirst(564);
        de_que.addFirst(291);
  
        // addLast() method to insert at end
        de_que.addLast(24);
        de_que.addLast(14);
  
        System.out.println(
            "Above elements have been cleared");
  
        // Iterator() :
        System.out.println(
            "Elements of deque using Iterator :");
  
        for (Iterator itr = de_que.iterator();
             itr.hasNext();) {
            System.out.println(itr.next());
        }
  
        // descendingIterator() : to reverse the deque order
        System.out.println(
            "Print elements in reverse order :");
  
        for (Iterator dItr = de_que.descendingIterator();
             dItr.hasNext();)
        {
            System.out.println(dItr.next());
        }
  
        // element() method : to get Head element
        System.out.println(
            "\nHead Element using element(): "
            + de_que.element());
  
        // getFirst() method : to get Head element
        System.out.println(
            "Getting Head Element using getFirst(): "
            + de_que.getFirst());
  
        // getLast() method : to get last element
        System.out.println(
            "Getting Last Element using getLast(): "
            + de_que.getLast());
  
        // toArray() method :
        Object[] arr = de_que.toArray();
  
        System.out.println("\nArray Size : " + arr.length);
  
        System.out.print("Array elements : ");
  
        for (int i = 0; i < arr.length; i++)
            System.out.print(" " + arr[i]);
  
        // peek() method : to get head
        System.out.println("\nHead element : "
                           + de_que.peek());
  
        // poll() method : to get head
        System.out.println("Head element poll : "
                           + de_que.poll());
  
        // push() method :
        de_que.push(265);
        de_que.push(984);
        de_que.push(2365);
  
        // remove() method : to get head
        System.out.println("Head element remove : "
                           + de_que.remove());
  
        System.out.println("Final Array: " + de_que);
    }
}
Producción

Element : 10
Element : 20
Element : 30
Element : 40
Element : 50
Using clear() 
Above elements have been cleared
Elements of deque using Iterator :
291
564
24
14
Print elements in reverse order :
14
24
564
291

Head Element using element(): 291
Getting Head Element using getFirst(): 291
Getting Last Element using getLast(): 14

Array Size : 4
Array elements :  291 564 24 14
Head element : 291
Head element poll : 291
Head element remove : 2365
Final Array: [984, 265, 564, 24, 14]

Publicación traducida automáticamente

Artículo escrito por mayanktyagi1709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *