logo

Java Deque Interface

La interfaz llamada Deque está presente en el paquete java.util. Es el subtipo de la cola de interfaz. Deque admite la adición y eliminación de elementos de ambos extremos de la estructura de datos. Por lo tanto, una deque se puede utilizar como pila o cola. Sabemos que la pila admite la operación Último en entrar, primero en salir (LIFO), y la operación Primero en entrar, primero en salir es compatible con una cola. Como un deque admite ambos, se puede realizar cualquiera de las operaciones mencionadas en él. Deque es un acrónimo de 'cola de doble extremo'.

Declaración de interfaz Deque

 public interface Deque extends Queue 

Métodos de la interfaz Java Deque

Método Descripción
adición booleana (objeto) Se utiliza para insertar el elemento especificado en esta deque y devolver verdadero en caso de éxito.
oferta booleana (objeto) Se utiliza para insertar el elemento especificado en este deque.
Eliminar objeto() Se utiliza para recuperar y quitar la cabeza de este deque.
Encuesta de objetos() Se utiliza para recuperar y eliminar el encabezado de esta deque, o devuelve nulo si esta deque está vacía.
Elemento de objeto() Se utiliza para recuperar, pero no para eliminar, la cabeza de este deque.
Vistazo del objeto() Se utiliza para recuperar, pero no elimina, el encabezado de esta deque, o devuelve nulo si esta deque está vacía.
Vistazo del objetoPrimero() El método devuelve el elemento principal del deque. El método no elimina ningún elemento del deque. Este método devuelve nulo cuando la deque está vacía.
Vistazo del objetoÚltimo() El método devuelve el último elemento del deque. El método no elimina ningún elemento del deque. Este método devuelve nulo cuando la deque está vacía.
Oferta booleanaPrimero(e) Inserta el elemento e al principio de la cola. Si la inserción es exitosa, se devuelve verdadero; en caso contrario, falso.
Oferta de objetoLast(e) Inserta el elemento e al final de la cola. Si la inserción es exitosa, se devuelve verdadero; en caso contrario, falso.
jerarquía java arraydeque

clase ArrayDeque

Sabemos que no es posible crear un objeto de una interfaz en Java. Por lo tanto, para la creación de instancias, necesitamos una clase que implemente la interfaz Deque, y esa clase es ArrayDeque. Crece y disminuye según el uso. También hereda la clase AbstractCollection.

Los puntos importantes sobre la clase ArrayDeque son:

  • A diferencia de Queue, podemos agregar o eliminar elementos de ambos lados.
  • No se permiten elementos nulos en ArrayDeque.
  • ArrayDeque no es seguro para subprocesos, en ausencia de sincronización externa.
  • ArrayDeque no tiene restricciones de capacidad.
  • ArrayDeque es más rápido que LinkedList y Stack.

Jerarquía ArrayDeque

La jerarquía de la clase ArrayDeque se muestra en la figura que se muestra en el lado derecho de la página.

¿Qué es la agrupación?

Declaración de clase ArrayDeque

Veamos la declaración de la clase java.util.ArrayDeque.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Ejemplo de Java ArrayDeque

Nombre del archivo: ArrayDequeExample.java

 import java.util.*; public class ArrayDequeExample { public static void main(String[] args) { //Creating Deque and adding elements Deque deque = new ArrayDeque(); deque.add('Ravi'); deque.add('Vijay'); deque.add('Ajay'); //Traversing elements for (String str : deque) { System.out.println(str); } } } 

Producción:

Ravi Vijay Ajay 

Ejemplo de Java ArrayDeque: ofertaPrimera() y encuestaÚltima()

Nombre del archivo: DequeExample.java

 import java.util.*; public class DequeExample { public static void main(String[] args) { Deque deque=new ArrayDeque(); deque.offer('arvind'); deque.offer('vimal'); deque.add('mukul'); deque.offerFirst('jai'); System.out.println('After offerFirst Traversal...'); for(String s:deque){ System.out.println(s); } //deque.poll(); //deque.pollFirst();//it is same as poll() deque.pollLast(); System.out.println('After pollLast() Traversal...'); for(String s:deque){ System.out.println(s); } } } 

Producción:

After offerFirst Traversal... jai arvind vimal mukul After pollLast() Traversal... jai arvind vimal 

Ejemplo de Java ArrayDeque: Libro

Nombre del archivo: ArrayDequeExample.java

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ArrayDequeExample { public static void main(String[] args) { Deque set=new ArrayDeque(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to Deque set.add(b1); set.add(b2); set.add(b3); //Traversing ArrayDeque for(Book b:set){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Producción:

101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6