ArrayDeque
具有堆栈和队列的方法。最常用的堆栈和队列方法如下所示:
Stack
方法:push
/ poll
/ peek
Queue
方法:push
/ poll
/ peek
我在下面的代码块中做的事情是,当同时使用提供,推送和添加方法时,我试图理解ArrayDeque
的行为。我写的代码及其输出如下。调用ArrayDeque
方法之后push()
的行为是什么,它假定自己是一个堆栈,然后调用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]
答案 0 :(得分:3)
这是它一步一步做的事情
// Add 3 at the tail of this deque
arrayDeque.add(3); -> [3]
// Add 4 at the head of this deque
arrayDeque.push(4); -> [4, 3]
// Add 6 at the tail of this deque
arrayDeque.offer(6); -> [4, 3, 6]
// Add 2 at the head of this deque
arrayDeque.addFirst(2); -> [2, 4, 3, 6]
// Add 5 at the tail of this deque
arrayDeque.addLast(5); -> [2, 4, 3, 6, 5]
// Add 1 at the head of this deque
arrayDeque.addFirst(1); -> [1, 2, 4, 3, 6, 5]
请注意,与Deque
或Queue
不同的Stack
的主要目的是能够访问/添加元素> / strong>结束(头部和尾部)。
答案 1 :(得分:0)
1.offer-此方法在此双端队列的末尾插入指定的元素。 2.add-此方法在此双端队列的末尾插入指定的元素。 3.push-此方法将元素推送到此双端队列表示的堆栈上。 4.addFirst - 此方法在此双端队列的前面插入指定的元素。 5.addLast-此方法在此双端队列的末尾插入指定的元素。
答案 2 :(得分:0)
你不明白什么?
你可以在调用push()方法之后解释ArrayDeque的行为吗,它假设自己是一个堆栈,然后调用offer()方法,该方法在JavaDoc中被称为队列方法
看看Javadoc:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html
push
方法在开头插入,offer
插入到最后。
答案 3 :(得分:0)