Interfaz Java Deque
Interfaz Java Deque
En este tutorial, aprenderemos sobre la interfaz de Deque, cómo usarla y sus métodos.
El Deque
La interfaz del marco de colecciones de Java proporciona la funcionalidad de una cola de dos extremos. Extiende el Queue
interfaz.
Trabajando de Deque
En una cola regular, los elementos se agregan desde atrás y se eliminan desde el frente. Sin embargo, en un deque, podemos insertar y quitar elementos tanto de la parte delantera como de la trasera .
Clases que implementan Deque
Para utilizar las funcionalidades del Deque
interfaz, necesitamos usar clases que la implementen:
- ArrayDeque
- Lista enlazada
¿Cómo usar Deque?
En Java, debemos importar el java.util.Deque
paquete para usar Deque
.
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
Aquí, hemos creado objetos animal1 y animal2 de clases ArrayDeque y ListaEnlazada , respectivamente. Estos objetos pueden usar las funcionalidades del Deque
interfaz.
Métodos de Deque
Desde Deque
extiende el Queue
interfaz, hereda todos los métodos de la interfaz Queue.
Además de los métodos disponibles en el Queue
interfaz, el Deque
La interfaz también incluye los siguientes métodos:
- añadirprimero() - Agrega el elemento especificado al comienzo de la deque. Lanza una excepción si el deque está lleno.
- añadirÚltimo() - Agrega el elemento especificado al final de la deque. Lanza una excepción si el deque está lleno.
- ofertaprimero() - Agrega el elemento especificado al comienzo de la deque. Devuelve
false
si el deque está lleno. - ofertaÚltimo() - Agrega el elemento especificado al final de la deque. Devuelve
false
si el deque está lleno. - getFirst() - Devuelve el primer elemento del deque. Lanza una excepción si el deque está vacío.
- obtenerÚltimo() - Devuelve el último elemento del deque. Lanza una excepción si el deque está vacío.
- mirarPrimero() - Devuelve el primer elemento del deque. Devuelve
null
si el deque está vacío. - mirarÚltimo() - Devuelve el último elemento del deque. Devuelve
null
si el deque está vacío. - eliminarPrimero() - Devuelve y elimina el primer elemento del deque. Lanza una excepción si el deque está vacío.
- eliminar Último() - Devuelve y elimina el último elemento del deque. Lanza una excepción si el deque está vacío.
- encuestaPrimero() - Devuelve y elimina el primer elemento del deque. Devuelve
null
si el deque está vacío. - último sondeo() - Devuelve y elimina el último elemento del deque. Devuelve
null
si el deque está vacío.
Deque como estructura de datos de pila
El Stack
clase de Java Collections
framework proporciona la implementación de la pila.
Sin embargo, se recomienda usar Deque
como una pila en lugar de la clase Stack. Es porque los métodos de Stack
están sincronizados.
Estos son los métodos del Deque
interfaz proporciona para implementar la pila:
push()
- añade un elemento al principio de dequepop()
- elimina un elemento del principio de dequepeek()
- devuelve un elemento desde el principio de deque
Implementación de Deque en la clase ArrayDeque
import java.util.Deque;
import java.util.ArrayDeque;
class Main {
public static void main(String[] args) {
// Creating Deque using the ArrayDeque class
Deque<Integer> numbers = new ArrayDeque<>();
// add elements to the Deque
numbers.offer(1);
numbers.offerLast(2);
numbers.offerFirst(3);
System.out.println("Deque: " + numbers);
// Access elements of the Deque
int firstElement = numbers.peekFirst();
System.out.println("First Element: " + firstElement);
int lastElement = numbers.peekLast();
System.out.println("Last Element: " + lastElement);
// Remove elements from the Deque
int removedNumber1 = numbers.pollFirst();
System.out.println("Removed First Element: " + removedNumber1);
int removedNumber2 = numbers.pollLast();
System.out.println("Removed Last Element: " + removedNumber2);
System.out.println("Updated Deque: " + numbers);
}
}
Salida
Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
Para obtener más información, visite Java ArrayDeque.
Java