LinkedList完成一个堆栈MyStack
直接上代码
因为前几天作业有提到 LinkedList 完成一个堆栈,感觉挺有意思,跟大家分享一下。
public class MyStack {
//弹夹:
private LinkedList ls=new LinkedList();
//装弹(压栈):
public void push(Object obj){
ls.addFirst(obj); //每次都把子弹增加到第一颗,把原来的压到下面去
}
//打枪(出栈):
public Object pop(){
Object obj = ls.getFirst();//取出第一颗子弹
ls.removeFirst(); //移除第一颗子弹
return obj;//返回刚刚打出的子弹
}
//计算弹夹中子弹数量:
public int size(){
return ls.size();
}
public static void main(String[] args) {
MyStack ms=new MyStack();
ms.push("a");//装第一颗子弹
ms.push("b");
ms.push("c");
ms.push("d");//装最后一颗子弹
while(ms.size()!=0){//如果子弹数量不等于0,就一直循环
System.out.println(ms.pop());
}
}
}
运行结果:
相信从运行结果也看得出来,LinkedList 是一个先进后出的数据结构。
以上就是本文的全部内容,希望对大家的学习有所帮助。