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); } }
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