2016-07-29 32 views
-1

我想通过使用Java集合框架来反转队列。但我无法理解我该怎么做呢?队列的反向

如何使用java收集框架在Java中反转队列?

回答

0

如果使用LinkedList至极实现了Java Queue这是非常简单的:

LinkedList<String> queue = new LinkedList<>(); 
    Collections.reverse(queue); 

否则,您必须使用堆栈。将堆栈中队列的每个元素都集中起来,并将它们取出并重新加入队列中。

public static <T> void reverse(Queue<T> queue) { 
    Deque<T> stack = new LinkedList<>(); 

    while (!queue.isEmpty()) { 
     stack.push(queue.poll()); 
    } 

    while (!stack.isEmpty()) { 
     queue.add(stack.pop()); 
    } 
} 
+0

非常感谢。 –