上干货~![](static/image/smiley/yct/em92.gif)
需求,
我创建 一个方法类, 这个类是 栈 类, 创建对象的时候, 直接 创建 栈 这个类,然后 调用其中的 in ,out 等方法,
更符合我们 学习JAVA 的 面向对象, 指挥对象搞事情
-------------------------------------------------------------------------------------------------------手动分割线.
栈类 代码区.
import java.util.LinkedList;
public class 栈 {
LinkedList list = new LinkedList();
/*
* 模拟进栈
* */
public void in(Object obj) {
list.add(obj);
}
/*
*
* 模拟出栈
*/
public Object out() {
return list.removeLast();
}
/*
* 模拟是否为空
* */
public boolean isEmpty(){
return list.isEmpty();
}
//Iterator it = list.iterator();
}
-------------------------------------------------------------------------------------------------手动分割线.
测试类 代码区.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class 模拟栈_队列 {
public static void main(String[] args) {
栈 z1 = new 栈(); //创建栈对象
z1.in("a");
z1.in("b"); //元素进栈
z1.in("c");
z1.in("d");
z1.in("e");
while(!z1.isEmpty()) { //当栈不是空的时候,弹栈
System.out.print(z1.out()+" 此时栈是空的吗?");
System.out.println(z1.isEmpty());
}
}
}
-------------------------------------------------------------------------------------------------手动分割线
总结下,
我使用到了链表集合,
它像一个链子一样, 我就可以模拟 方法 的进栈 和弹栈了.
存 的时候我从后往前进入.
输出的时候我从后面往前面拿,
in out 两个方法,就是在模拟 方法的进栈和弹栈.
然后判断他是否为空, 不是空的, 就证明我栈中还有方法没有弹栈,
我就继续弹栈就行了,
这个就是使用到面向对象 这种思想, 我把 链表集合 封装了,
让你看不到我是如何 把后输入的内容先 输出,
模拟 出 方法的 进栈 和弹栈.
That is all.![](static/image/smiley/yct/em66.gif)
|
|