我想通过使用Java集合框架来反转队列。但我无法理解我该怎么做?
如何使用java集合框架反转java中的Queue?
答案 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());
}
}