🌱 Digital Garden

Search

Search IconIcon to open search

LinkedList como implementacion de Queue en Java

Last updated Aug 6, 2023 Edit Source

Quizas ver primero: ArrayDeque como implementacion de Queue en Java Queue Interface en Java


# LinkedList como implementacion de Queue en Java

Como se observa en Queue, Deque y Stack en Java la implementacion LinkedList aparte de extender de la interfaz List<E>, tambien extiende de la interfaz Deque<E> que a su vez extiende de la interfaz Queue<E>.

Por tanto, LinkedList se puede usar como implementacion de una Queue que sigue el principio FIFO.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
Queue<String> listQueue = new LinkedList<>();  
  
listQueue.offer("First");  
listQueue.offer("Second");  
listQueue.offer("Third");  
  
System.out.println(listQueue.peek()); // First, doesnt remove  
System.out.println(listQueue.peek()); // First, doesnt remove  
  
System.out.println(listQueue.poll()); // First 
System.out.println(listQueue.poll()); // Second
System.out.println(listQueue.poll()); // Third  
  
System.out.println(listQueue.isEmpty()); // true

Es bastante similar a la implementacion realizada en ArrayDeque como implementacion de Queue en Java. Sin embargo, en grandes volumenes de datos esta Queue es mas lenta debido a que mantiene un nodo por cada elemento, sus conexiones y por tanto, un mucho mayor uso de memoria.

En grandes volumenes de datos se recomienda mucho mas usar ArrayDeque.


Siguiente: