Queue to List Conversion in Java
Queues and Lists are fundamental data structures in Java. The Java’s Queue interface represents a collection designed for holding elements prior to processing and used extensively in scenarios involving data processing, task scheduling, and more.
Sometimes, we may need to convert a Queue to a List for purposes such as random access, sorting, or utilizing list-specific operations. This article explores various methods for converting a Queue to a List in Java, along with code examples.
1. Using the ArrayList Constructor
One of the simplest ways to convert a Queue into a List is by using the ArrayList constructor that takes a collection.
public class ArrayListConstructorExample {
public static void main(String[] args) {
// Create a queue
Queue<String> carQueue = new LinkedList<>();
carQueue.add("Toyota");
carQueue.add("Honda");
carQueue.add("Ford");
// Convert the queue to a list using ArrayList constructor
List<String> list = new ArrayList<>(carQueue);
// Display the list
System.out.println("List: " + list);
}
}
In this example, we convert the queue to a list by passing the queue to the ArrayList constructor. The resulting list contains all elements of the queue in the same order.
2. Using a Loop and Adding to a List
For a more manual approach, we can iterate through the Queue and add elements to the List one by one.
ArrayList<String> list = new ArrayList<>();
// Iterate through the queue and add elements to the list
for (String name : carQueue) {
list.add(name);
}
3. Using Streams (Java 8+)
With Java 8, we can leverage the Stream API to convert a Queue to a List.
// Convert the queue to a list using streams
List<String> list = carQueue.stream().collect(Collectors.toList());
Here, we use the stream method to create a stream from the queue. We then use the collect method with Collectors.toList() to convert the stream to a list.
4. Using the addAll Method
Another way to convert a Queue to a List is by using the addAll method of the List interface.
// Create an empty list
List<String> list = new ArrayList<>();
// Add all elements of the queue to the list
list.addAll(carQueue);
In this approach, we create an empty ArrayList and use the addAll method to add all elements of the queue to the list. The addAll method ensures that the list contains all elements of the queue in the same order.
5. Using External Libraries
Using external libraries can provide additional functionality when converting a Queue to a List in Java. Libraries such as Guava and Apache Commons Collections offer utility methods that can simplify this process.
Note: Ensure the Apache Commons Collections and the Guava library are downloaded and included in the project’s classpath.
5.1 Using Guava
Guava’s Lists class provides a convenient newArrayList method that can be used to create a new List from an existing Collection (including Queues).
// Convert the queue to a list using Guava
List<String> list = Lists.newArrayList(carQueue);
This example uses Lists.newArrayList() from Guava to convert the queue to a list.
5.2 Using Apache Commons Collections
This library provides the CollectionUtils class with a utility method addAll that can be used to add elements from a Queue to an existing List.
// Convert the queue to a list using Apache Commons Collections
List<String> list = IterableUtils.toList(carQueue);
6. Conclusion
In this article, we explored different Java methods to convert a Queue into a List. Each method offers unique advantages for data handling, highlighting Java’s flexibility in collection management.
7. Download the Source Code
This article covers methods in Java on how to convert a queue into a list.
You can download the full source code of this example here: Convert Queue to List in Java


