用LinkedList实现堆栈直接上代码
原理:先进后出
/**
* 把LinkedList想象成一个沙鹰系列的子弹夹---->特点:先进后出 因为先进去的到下面去了
*/
private LinkedList li = new LinkedList();
/**
* 装弹-->压栈
* @param obj
*/
public void push(Object obj) {
li.addFirst(obj);
}
/**
* 出栈 开枪
* @return
*/
public Object pop() {
Object first = li.getFirst();
li.removeFirst();
return first;
}
/**
* 计算子弹夹中的子弹数量
* @return
*/
public int size() {
return li.size();
}
public static void main(String[] args) {
Mystack mys = new Mystack();
//压栈
mys.push("a");
mys.push("b");
mys.push("c");
//出栈
while(mys.size()!=0) {
Object pop = mys.pop();
System.out.println(pop);
}
}