Introduction:
In Java, both Queue and Deque are widely used data structures that offer efficient handling of elements. While Queue follows the First-In-First-Out (FIFO) principle, Deque, short for Double-Ended Queue, allows elements to be inserted and removed from both ends. Sometimes, there arises a need to convert a Queue into a Deque to leverage the additional functionalities provided by the Deque interface. In this tutorial, we will explore two methods to convert a Queue to a Deque in Java, along with explanations and sample code.
Method 1: Using the Deque Interface
The easiest way to convert a Queue to a Deque is by creating a new Deque instance and adding all elements from the Queue to it. Here's an example:
import java.util.*;
public class QueueToDequeExample {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
queue.add(3);
Deque<Integer> deque = new LinkedList<>(queue);
System.out.println("Converted Deque: " + deque);
}
}
Output:
Converted Deque: [1, 2, 3]
In this method, we start by creating a new Queue instance (queue
) and adding some elements to it. Then, we create a new Deque instance (deque
) by passing the queue
to the constructor of the LinkedList class, which implements both Queue and Deque interfaces. The elements from the queue
are copied into the deque
, resulting in a successful conversion.
Method 2: Using the addAll() Method
Another approach to convert a Queue to a Deque is by utilizing the addAll()
method provided by the Collection interface. Here's an example:
import java.util.*;
public class QueueToDequeExample {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
queue.add(3);
Deque<Integer> deque = new LinkedList<>();
deque.addAll(queue);
System.out.println("Converted Deque: " + deque);
}
}
Output:
Converted Deque: [1, 2, 3]
In this method, we start by creating a new Queue instance (queue
) and adding elements to it. Then, we create an empty Deque instance (deque
). We use the addAll()
method of the deque
object to add all elements from the queue
to the deque
. The addAll()
method efficiently copies the elements from the queue
to the end of the deque
, resulting in a successful conversion.
Conclusion:
In this tutorial, we explored two methods to convert a Queue to a Deque in Java. The first method involved creating a new Deque instance and copying elements from the Queue to the Deque using the LinkedList constructor. The second method utilized the addAll()
method to efficiently add elements from the Queue to an empty Deque. Both methods resulted in the successful conversion of a Queue to a Deque, enabling the use of Deque-specific functionalities.
Comments (0)