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

Answer: 
If you're converting from **`PriorityQueue`** to a `List`, remember that it is in fact a heap, so the ordering is determined using the `poll()` method, in which case, doing it by the constructor way as discussed in some of the other answers here, won't preserve the natural ordering of the queue.

Taking that into consideration, you can go along these lines:

```
List<E> result = new ArrayList<>(yourPriorityQueue.size());
while (!yourPriorityQueue.isEmpty()) {
    result.add(yourPriorityQueue.poll());
}

```
```
Queue queue = new LinkedList();
...
List list = new ArrayList(queue);

```