读Stack源码_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 读Stack源码

读Stack源码

 2017/10/5 12:43:07  红领巾丶  程序员俱乐部  我要评论(0)
  • 摘要://一个堆栈结构的集合(先进后出)继承于Vector//基本已被ArrayDeque取代//先看构造函数publicStack(){}//新增一个元素publicEpush(Eitem){addElement(item);returnitem;}publicsynchronizedvoidaddElement(Eobj){modCount++;ensureCapacityHelper(elementCount+1);elementData[elementCount++]=obj;
  • 标签:源码
class="java" name="code">
//一个堆栈结构的集合(先进后出)继承于Vector
//基本已被ArrayDeque取代

//先看构造函数
public Stack() {
    }

//新增一个元素
 public E push(E item) {
        addElement(item);

        return item;
    }

public synchronized void addElement(E obj) {
        modCount++;
        ensureCapacityHelper(elementCount + 1);
        elementData[elementCount++] = obj;
    }

//取出并移除一个元素
public synchronized E pop() {
        E       obj;
        int     len = size();

        obj = peek();
        removeElementAt(len - 1);

        return obj;
    }

//取出一个元素
 public synchronized E peek() {
        int     len = size();

        if (len == 0)
            throw new EmptyStackException();
        return elementAt(len - 1);
    }

//队列是否为空
public boolean empty() {
        return size() == 0;
    }


//返回对象在队列中的位置从1开始
public synchronized int search(Object o) {
        int i = lastIndexOf(o);

        if (i >= 0) {
            return size() - i;
        }
        return -1;
    }
发表评论
用户名: 匿名