import java.util.ArrayDeque;

class Main {
    public static void main(String[] args) {
        ArrayDeque<Integer> arrayDeque = new ArrayDeque<>();
        arrayDeque.push(10);
        arrayDeque.push(11);
        arrayDeque.push(15);
        arrayDeque.push(20);
        arrayDeque.push(200);
        arrayDeque.add(700);
        while (arrayDeque.peek() != null) {
            System.out.println(arrayDeque.pop() + " ");
        }
    }
}


美好的一天..我对ArrayDeque类中的peek()方法有一个疑问。.该方法所要做的就是检索arrayDeque的头部而不删除它。所以如果是这样的话,它是如何在不进行无限循环的情况下完美工作的..我的意思是谁告诉方法在每个完整循环之后都要寻找Next元素。

最佳答案

没有无限循环,因为当队列为空时,整个循环中的条件将为false。

while (arrayDeque.peek() != null)


pop删除最后一个元素时,arrayDeque.peek()将返回null,到此为止。

10-02 23:17