【问题标题】:Reverse of Queue [duplicate]队列的反转[重复]
【发布时间】:2016-07-29 06:11:04
【问题描述】:

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

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

【问题讨论】:

    标签: java collections queue


    【解决方案1】:

    如果您使用 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());
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2014-01-09
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多