java中的栈和队列
Stack 栈
栈是一个后进先出的数据结构,有这样的数据结构功能的还有Dequ类,推荐使用Dequ
push方法和pop方法
push方法是向栈顶放值
1 | public E push(E item) { |
pop方法是在将栈顶的值出栈
1 | // 同样加锁的方法 调用方法 移除在数组最后位置的元素 |
peek方法
peek方法是看一下栈顶元素的值,但不做任何操作
1 | public synchronized E peek() { |
这几个方法和linkedList类中的对应的方法非常像,所以其实LindedList也可以当作栈用。
Queue 队列
队列和栈相反,是一个先进后出的数据结构,想成现实中的排队再明白不过了。
offer 方法和 pull方法
offer方法可以将元素放入队列当中,pull可以将元素从头部移除。
add方法和remove方法
add和remove方法分别调用offer和pull方法,不同的是,如果队列满了,add方法会抛出异常,而offer方法会返回null。如果队列空了,remove方法会抛出异常,而pull方法会返回null。
以后会提及队列的实现类以及Dequ相关类。