【发布时间】:2017-05-26 06:20:45
【问题描述】:
ArrayDeque 有栈和队列的方法。最常用的栈和队列方法如下:
Stack 方法:push/poll/peek
Queue 方法:push/poll/peek
我在下面的代码块中所做的事情是,当在同一个对象中同时使用提供、推送和添加方法时,我试图了解 ArrayDeque 的行为。我编写的代码及其输出如下所示。在调用push() 方法后ArrayDeque 的行为是什么,它假设自己是一个堆栈,然后调用offer() 方法,它被称为队列方法。
Deque<Integer> arrayDeque = new ArrayDeque<>();
arrayDeque.add(3);
arrayDeque.push(4);
arrayDeque.offer(6);
arrayDeque.addFirst(2);
arrayDeque.addLast(5);
arrayDeque.addFirst(1);
System.out.println("ArrayDeque: " + arrayDeque.toString());
输出是:
ArrayDeque: [1, 2, 4, 3, 6, 5]
【问题讨论】:
-
这有什么奇怪的?
-
阅读 javadoc。那里清楚地解释了所有这些方法的作用。
标签: java collections arraydeque