package com.zking.collection01;
import java.util.LinkedList;
/**
* 1、 LinkedList是以链表的结构存储数据,查询慢、增删改快
*LinkedList的特有方法:
*1.1、addFirst(E e) : 向集合中的开头添加元素
*1.2、addLast(E e):向集合的末尾添加元素
*1.3、getFirst():得到集合中的第一个元素
*1.4、getLast():得到集合中的最后一个元素
*1.5、removeFirst():删除集合中的第一个元素
*1.6、removeLast():删除集合中的最后一个元素
*1.7、pop(E e) : 从集合的最上面弹出一个元素
*1.8、push():向集合的最上面添加元素
*1.9、isEmpty() : 判断集合中是否有为空
* 2、堆栈结构有先进后出的特点,就像弹夹一样,先进去的在后进去的低下。
* 3、在开发时,LinkedList集合也可以作为堆栈,队列的结构使用。
* @author 15753
*
*/
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());
}
}
}