2016-07-29 62 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

非常感謝。 –