Question: What is the fastest way to convert a `Queue` into a `List` while keeping the Queue order?

Answer: 
The fastest is to use a LinkedList in the first place which can be used as a List or a Queue.

```
Queue q = new LinkedList();
List l = (List) q;

```

Otherwise you need to take a copy

```
List l = new ArrayList(q);

```

Note: When dealing with PriorityQueue, Use a loop, poll each element and add to list. PriorityQueue to List not maintaining the heap order.
```
Queue queue = new LinkedList();
...
List list = new ArrayList(queue);

```