Sai A Sai A
Updated date Jul 17, 2023
In this blog, we will explore the process of converting a Deque (Double Ended Queue) to a Queue in Java, providing practical tips and multiple approaches.

Introduction:

Data structures play a crucial role in software development, enabling efficient manipulation and storage of information. Java provides a wide range of built-in data structures to cater to different needs. In this blog, we will explore how to convert a Deque (Double Ended Queue) into a Queue, emphasizing practical tips and offering multiple approaches.

Method 1: Using LinkedList to Convert Deque to Queue

The LinkedList class in Java implements both the Deque and Queue interfaces, making it a suitable choice for our conversion. This method involves creating a LinkedList object and initializing it with the Deque elements. We then use this LinkedList as a Queue to achieve the desired conversion.

import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;

public class DequeToQueueConverter {
    public static void main(String[] args) {
        Deque<String> deque = new LinkedList<>();
        deque.add("Element 1");
        deque.add("Element 2");
        deque.add("Element 3");

        Queue<String> queue = new LinkedList<>(deque);

        System.out.println("Converted Queue:");
        while (!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
    }
}
  • We start by importing the necessary classes: Deque, LinkedList, and Queue.
  • Next, we create a Deque object, deque, and add elements to it using the add() method.
  • Then, we create a Queue object, queue, and initialize it with the elements of deque using the LinkedList constructor.
  • Finally, we iterate over the queue using the poll() method until it becomes empty, printing each element.

Output:

Converted Queue:
Element 1
Element 2
Element 3

Method 2: Manually Converting Deque to Queue

In this approach, we manually convert the Deque into a Queue by iterating over the elements of the Deque and adding them to a newly created Queue object. This method provides more flexibility if you need to perform any additional operations during the conversion process.

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Queue;

public class DequeToQueueConverter {
    public static void main(String[] args) {
        Deque<String> deque = new ArrayDeque<>();
        deque.add("Element 1");
        deque.add("Element 2");
        deque.add("Element 3");

        Queue<String> queue = new ArrayDeque<>();
        while (!deque.isEmpty()) {
            queue.add(deque.removeFirst());
        }

        System.out.println("Converted Queue:");
        while (!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
    }
}
  • We import the necessary classes: ArrayDeque, Deque, and Queue.
  • We create a Deque object, deque, and add elements to it using the add() method.
  • Then, we create an empty Queue object, queue.
  • We iterate over the deque using a while loop until it becomes empty. In each iteration, we remove the first element from the deque using removeFirst() and add it to the queue using the add() method.
  • Finally, we iterate over the queue using a while loop, printing each element after polling it.

Output:

Converted Queue:
Element 1
Element 2
Element 3

Conclusion:

In this blog, we explored practical tips for converting a Deque to a Queue in Java. We discussed two main methods: using the LinkedList class and manually converting the Deque. Both methods yielded the desired output, and we explained their implementation step by step.

Comments (0)

There are no comments. Be the first to comment!!!