ArrayDeque
有堆棧和隊列的方法。主要用於棧和隊列的方法是在下面的那些:在ArrayDeque中同時使用push(),offer()和add()方法時會發生什麼?
Stack
方法:push
/poll
/peek
Queue
方法:push
/poll
/peek
,我的已經做了的事下面的代碼塊是這樣的,我試圖理解ArrayDeque
同時提供的行爲,push和add方法在同一個對象中使用。我寫的代碼和它的輸出如下。在調用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。所有這些方法的作用在那裏都有明確的解釋。 –