实例化一个对象
Stack
用这个对象调用函数
判断是否为空 stack.empty()
入栈 stack.push('a');
出栈,并作为此函数的值返回该对象 stack.pop();
返回对象在栈中的位置 stack.search('b'),从1开始,从栈顶开始
查看栈顶部的对象,但不从栈中移除它 Object peek( )
队列queue的用法linkedList类实现了Queue接口,因此我们可以把linkedList当成Queue来用
实例化一个对象
Queue
用这个对象调用函数
add(E e) 插入指定元素为该队列是否有可能立即这样做不违反容量限制,还 true成功后抛出 IllegalStateException如果没有空间是可用的。
添加元素 q.offer();
返回第一个元素,并在队列中删除 q.poll();
显示队列头元素但不移除q.element()、q.peek();
判断元素是否为空q.isEmpty();
队列的元素个数q.size();
- 常用的函数用法有这些
- offer(); add();//表示增加元素
- poll();remove();//表示移除元素
- element();peek();//显示队列头一个元素,不会删除元素
区别
add(),remove(),element()出错的时候会抛出异常,比如队列满了,add会抛出异常
而offer(),poll(),peek()l则不会抛出异常,offer显示false,poll显示null,peek显示null。
java中的双向队列(Deque)
- 支持在两端插入和移除元素
| Queue 方法 | 等效 Deque 方法 |
| add(e) | addLast(e) |
| offer(e) | offerLast(e) |
| remove() | removeFirst() |
| poll() | pollFirst() |
| element() | getFirst() |
| peek() | peekFirst() |
| 堆栈方法 | 等效 Deque 方法 |
| push(e) | addFirst(e) |
| pop() | removeFirst() |
| peek() | peekFirst() |
提供了两种移除内部元素的方法:removeFirstOccurrence 和 removeLastOccurrence



