栈是一种==“先进后出”==的一种数据结构,有压栈出栈两种操作方式。
可以把栈这种数据结构理解成是手枪的弹夹。
压栈就好比是往弹夹中压子弹。
弹栈就好比是往子弹中退出子弹。
用LinkedList模拟栈的数据结构
public class MyStack {
private LinkedList link;
public MyStack() {
link = new LinkedList();
}
//压栈
//每次压倒栈顶
public void add(Object obj) {
link.addFirst(obj);
}
//弹栈
//每次从栈顶取出
public Object get() {
// return link.getFirst();
return link.removeFirst();
}
public boolean isEmpty() {
return link.isEmpty();
}
}
public static void main(String[] args) {
// 创建集合对象
MyStack ms = new MyStack();
// 添加元素
ms.add("hello");
ms.add("world");
ms.add("java");
while(!ms.isEmpty()){
System.out.println(ms.get());
}
//结果
//java
//world
//java
}