java中的stack和queue
stack和queue数据结构是经常用到的数据结构,java中有已经实现好的类。在比较早的版本中stack类是实现栈的类,但是这个stack比较老,不推荐实现。现在比较推荐的是用双端队列Deque实现栈和队列,其中方法比较如下:
Deque的方法和Queue的方法比较:
Queue | Deque |
---|---|
add(e)/offer(e) | addLast(e)/offerLast(e) |
remove()/poll() | removeFirst()/pollFirst() |
element()/peek() | getFirst()/peekFirst() |
Deque的方法和Stack的方法比较:
Stack | Deque |
---|---|
push(e) | addFirst(e)/offerFirst(e) |
pop() | removeFirst()/pollFirst() |
peek() | getFirst()/peekFirst() |
所以说双端队列实现栈和队列的时候,只有队列的add方法是双端队列的addLast。其他的都是xxFirst操作。