android java 堆栈的实现

来源:互联网 发布:java重载定义 编辑:程序博客网 时间:2024/06/05 21:14

众所周知;android和java不提供堆栈的实现,只提供了list,vector,deque得存储结构,对于以前做面向过程语言的程序员来说,总觉得缺少了些什么;

附上代码:

Stack.java文件:

public class Stack<T extends Object> {Vector<T> vector = new Vector();public T pop() {T t = null;if (!isBottom()) {t = vector.lastElement();int pos = vector.lastIndexOf(t);//vector.remove(t);vector.removeElementAt(pos);}return t;}public void push(T t) {vector.addElement(t);}public boolean isBottom() {if (vector.isEmpty()) {return true;}return false;}public int size() {return vector.size();}}

测试代码:main.java文件:

public class main {public static void main(String[] args) {// TODO Auto-generated method stubStack<String> stack = new Stack<String>();stack.push("test1");stack.push("test2");stack.push("test3");System.out.println("size=" + stack.size());for (int iLoop = 0; iLoop < 4; iLoop++) {if (!stack.isBottom()) {System.out.println(stack.pop());} else {System.out.println("isbottom");}}System.out.println("size=" + stack.size());}}

打印结果:

size=3
test3
test2
test1
isbottom
size=0

以上结果实现了栈式管理的先入后出,由于其内部实现是vector方式所以其长度是动态增加的!


0 0
原创粉丝点击