0

我的代码

import java.util.Queue;
import java.util.LinkedList;
public class QueueQuiz {
    public static void main (String [] args){
        Queue beverages = new LinkedList();
        beverages.offer("shoes");
        beverages.offer("ball"); //enqueue ball without using add()
        System.out.println(beverages.peek() + " is queued first.");
        beverages.poll(); //dequeue ball without using remove()
        System.out.println("Element(s) in the queue: " + beverages);
    }
}

如何解决?我已经将“球”出列,但是当我调用队列中的元素而不是“鞋子”时它会弹出

4

2 回答 2

0

对于 enqueue,使用 offer(),对于 dequeue,使用 poll()。

你做得对。

但是队列遵循FIFO(先进先出)。

    beverages.offer("shoes");

[“鞋”]

    beverages.offer("ball"); 

[“鞋子”,“球”]

    beverages.peek();

一开始就给你“鞋子”。

    beverages.poll();

这将删除第一个元素,即“鞋子”。

现在,饮料 = [“球”]。

于 2021-01-21T04:19:26.977 回答
0

如何在不使用 add 的情况下入队

通过使用.offer().

如何在不使用 remove 的情况下出列

通过使用.poll().

换句话说,你正在这样做。

我已经将“球”出列,但是当我调用队列中的元素而不是“鞋子”时它会弹出

当然。你把鞋子放在抽屉里。然后,你把球放在抽屉里,把鞋子移到橱柜的后面。然后,你打开抽屉,拿出你的手能触到的第一件东西,那就是球。

抽屉现在只包含鞋子。

于 2021-01-21T04:08:23.733 回答