栈就像 弹匣
子弹相当于
1.一个基础类型的变量
2.一个对象的引用
3.一个方法当时的调用
栈的特点:先进后出
装弹:压栈
开火:弹栈
LinkedList是双向链表结构,故有几种特有方法:
* public void addFirst(E e) 及 addLast(E e)
* public E getFirst() 及 getLast()
* public E removeFirst() 及 removeLast()
* public E get(int index);
结合运用:
import java.util.LinkedList;
public class Stack {
private LinkedList list = new LinkedList();
/*
* 模拟进栈方法
*/
public void in(Object obj) {
list.addLast(obj);
}
/*
* 模拟出栈
*/
public Object out() {
return list.removeLast();
}
/*
* 模拟栈结构是否为空
*/
public boolean isEmpty() {
return list.isEmpty();
}
public static void main(String[] args) {
Stack s = new Stack();
s.in("a"); //进栈
s.in("b");
s.in("c");
s.in("d");
while(!s.isEmpty()) { //判断栈结构是否为空
System.out.print(s.out()+" "); //弹栈 输出d c b a
}
}
}