堆栈的特点是:压栈,类似于水缸(先进后出);
队列的特点是:类似于水管,(先进先出)。
用程序模拟的话, 就是用LinkedList集合的添加分别用addFirst方法和addLast方法,
获取分别用:getFirst方法和getLast方法操作。
示例代码如下- /**
- * 模拟堆栈
- * @author wuyong
- *
- */
- class Stack{
- public Stack(){
- add();
- }
- LinkedList<String> stack = new LinkedList<String>();
- int no;//元素的顺序从1开始
- public String get(){
- return stack.getFirst();
- }
- public void add() {
- while (no < 4) {
- stack.addFirst("stack" + ++no);
- }
- }
- }
- /**
- * 模拟队列
- * @author wuyong
- *
- */
- class Queue{
- public Queue(){
- add();
- }
- LinkedList<String> queue = new LinkedList<String>();
- int no;//元素的顺序从1开始
- public String get(){
- return queue.getFirst();
- }
- public void add() {
- while (no < 4) {
- queue.addLast("stack" + ++no);
- }
- }
- }
复制代码
|