zoukankan      html  css  js  c++  java
  • android java 堆栈的实现

    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 stub
            Stack<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方式所以其长度是动态增加的!

  • 相关阅读:
    Java--强制转化
    Java--成绩分类
    建造者模式的应用
    抽象工厂模式的应用
    工厂模式
    第几天
    Stacking Plates(存档待续.....(没有写思路和程序))
    圆的面积
    公孙策和陆湘湘对话(少年包青天第二部第二十集末尾和第二十一集开头部分)
    简单接口回调例子
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5691820.html
Copyright © 2011-2022 走看看