JDK学习笔记之Stack

JDK学习笔记之Stack,第1张

Stack是Vector的子类,特性是先进后出。

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

    return item;
}

添加元素方法push,调用父类的addElement方法。

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;
}

删除元素方法pop

public synchronized E peek() {
    int     len = size();

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

获取顶端元素elemnetAt(len-1)。

public boolean empty() {
    return size() == 0;
}

判断栈空。

public synchronized int search(Object o) {
    int i = lastIndexOf(o);

    if (i >= 0) {
        return size() - i;
    }
    return -1;
}

搜索元素的位置,从栈顶到栈底搜索第一个符合的元素。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/868725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存