美文网首页
Stack简介

Stack简介

作者: 加大装益达 | 来源:发表于2017-04-24 09:57 被阅读22次

    Stack简介

    1. Stack基于Vector实现,支持LIFO 后进先出

    源码分析

    jdk1.7.0_71

    默认构造

    public Stack() {
        }
    

    push(E item)将元素压入顶端

    public E push(E item) {
            addElement(item);
    
            return item;
        }
    

    pop() 删除顶部的元素,同步方法

    public synchronized E pop() {
            E       obj;
            int     len = size();
    
            obj = peek();
            removeElementAt(len - 1);
    
            return obj;
        }
    

    peek() 获取顶端元素

    public synchronized E peek() {
            int     len = size();
    
            if (len == 0)
                throw new EmptyStackException();
            return elementAt(len - 1);
        }
    

    empty() 是否为空

    public boolean empty(){}
    

    search(Object o) 查询当前o距离栈底的距离

    public synchronized int search(Object o) {
            int i = lastIndexOf(o);
    
            if (i >= 0) {
                return size() - i;
            }
            return -1;
        }
    

    参考

    相关文章

      网友评论

          本文标题:Stack简介

          本文链接:https://www.haomeiwen.com/subject/kibuzttx.html