总结。
1.栈和队列
Stack | Queue | |
---|---|---|
API | java.util.Stack; | java.util.Queue; java.util.LinkedList; |
定义 | Stack< Integer > stack = new Stack< Integer >(); | Queue< Integer > queue = new LinkedList< Integer >(); |
入 | stack.push(node); | queue .offer(node); |
出 | stack.pop(); | queue .poll(); |
顶/头 | stack.peek(); | queue .peek(); |
空 | stack.empty(); | queue.isEmpty(); |
Stack类
Stack类继承自Vector类。
- boolean empty()
判断栈是否为空 - E peek()
返回栈顶对象,不移除 - E pop()
返回栈顶对象,并移除 - E push(E item)
压入栈顶 - int search(Object o)
返回对象在栈的位置
Queue接口
常用的LinkedList类就实现了Queue接口。
- boolean add(E e)
向队列中添加元素 - E element()
返回队列的头,且不移除 - boolean offer(E e)
向队列中添加元素 - E peek()
返回队列的头,且不移除 - E poll()
返回队列的头,且移除 - E remove()
返回队列的头,且移除
add、element、remove会在操作失败时抛出异常,而offer、peek、poll在操作失败时返回特殊值。