estructura de datos
La clase ArrayDeque es una clase de implementación lineal de una cola de dos extremos.
Tiene las siguientes características:
- ArrayDeque es una cola de dos extremos implementada en una matriz.
- El dequeue y el enqueue de ArrayDeque se realizan recorriendo los punteros de cabeza y cola y usando matrices.
- Cuando la capacidad de ArrayDeque sea insuficiente, se ampliará y la capacidad se duplicará cada vez.
- ArrayDeque se puede usar directamente como una pila. Cuando se usa como pila, el rendimiento es mejor que Stack, y cuando se usa como cola, el rendimiento es mejor que LinkedList.
- No hay límite en el tamaño de la capacidad, y la capacidad puede crecer según la demanda.
- Cola no segura para subprocesos, sin estrategia de sincronización, no admite acceso seguro multiproceso.
- Tiene la función de fallo rápido, no puede almacenar valores nulos y admite iterador transversal bidireccional.
lista de métodos
tipo | método | tipo |
---|---|---|
añadir elemento | public void addFirst(E e) | anteponer un elemento a la matriz |
public void addLast(E e) | Agregar elementos después de la matriz | |
oferta booleana públicaPrimero(E e) | Agregue elementos al frente de la matriz y devuelva si la adición fue exitosa | |
oferta pública booleanaLast() | Agregue elementos después de la matriz y devuelva si la adición se realizó correctamente | |
eliminar elemento | encuesta pública E primero () | Elimina el primer elemento y devuelve el valor del elemento eliminado, o nulo si el elemento es nulo |
público E removeFirst() | Elimine el primer elemento y devuelva el valor del elemento eliminado, si el elemento es nulo, se lanzará una excepción | |
E encuesta pública Última () | Elimina el último elemento y devuelve el valor del elemento eliminado, o nulo si es nulo | |
público E eliminarÚltimo() | Elimine el último elemento y devuelva el valor del elemento eliminado, si es nulo, se lanzará una excepción | |
booleano público eliminarPrimeraOcurrencia(Objeto o) | elimina la primera aparición del elemento especificado | |
booleano público removeLastOccurrence(Objeto o) | elimina la última aparición del elemento especificado | |
obtener elemento | público E getFirst() | Obtenga el primer elemento, si no hay una excepción, se lanzará |
público E getÚltimo() | Obtenga el último elemento, si no hay una excepción, se lanzará | |
operación de cola | agregar booleano público (E e) | Agregar un elemento al final de la cola |
oferta pública booleana (E e) | Agregue un elemento al final de la cola y devuelva si fue exitoso | |
eliminación pública E () | Elimine el primer elemento de la cola y devuelva el valor del elemento. Si el elemento es nulo, se lanzará una excepción (de hecho, la llamada subyacente es removeFirst() | |
vista pública E () | Obtener el primer elemento, si devuelve nulo | |
operación de pila | empujón de vacío público (E e) | Agregar un elemento a la parte superior de la pila |
público E pop () | Retire el elemento superior de la pila, si no hay ningún elemento en la parte superior de la pila, se lanzará una excepción | |
otro | tamaño int público () | Obtener el número de elementos en la cola |
público booleano está vacío () | Comprobar si la cola está vacía | |
iterador público iterador() | iterador, iterar de adelante hacia atrás | |
iterador público iterador descendente () | iterador, iterar de atrás hacia adelante | |
booleano público contiene (Objeto o) | Determinar si el elemento existe en la cola | |
Objeto público[] aArray() | Convertir a una matriz | |
public T[] toArray(T[] a) | Convertir a una constante de matriz | |
vacío público claro () | cola vacia | |
clon público de ArrayDeque() | clonar (copiar) |
cuando está en cola
Deque<E> queue = new ArrayDeque<>();
queue.size()
E a=queue.addLast()
E b=queue.removeFirst()
Cuando se usa como una pila
Deque<E> stack = new ArrayDeque<>();
stack.size()
E a=stack.addLast()
E b=stack.removeLast()