队列的反向

时间:2016-07-29 06:11:04

标签: java collections queue

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

如何使用java集合框架反转java中的Queue?

1 个答案:

答案 0 :(得分: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());
    }
}