zoukankan      html  css  js  c++  java
  • Stack源码解析

    简介

    Stack是一个先进先出(LIFO)的队列。通过五个操作扩展了Vector类,所以能被当作栈对待。
    分别是,push、pop、peek、empty、search。

    类继承关系

    在这里插入图片描述

    方法

    //构造一个空对象
    public Stack() {
    }
    //入栈
    public E push(E item) {
        addElement(item);
    
        return item;
    }
    //出栈
    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;
    }
    //查找最后一位匹配的数据
    public synchronized int search(Object o) {
        int i = lastIndexOf(o);
    
        if (i >= 0) {
            return size() - i;
        }
        return -1;
    }
    

    可以看到方法具体实现调用Vector对象方法实现。

  • 相关阅读:
    Iptables 之二扩展模块 nat
    sudo 命令
    7、CentOS6 编译安装
    MySQL5.7 基础之二 DCL DML
    SQL Server 2008R2安装
    6、httpd2.4 编译安装LAMP
    MySQL 基础之一
    gulp
    msbuild
    inno setup
  • 原文地址:https://www.cnblogs.com/paper-man/p/13284627.html
Copyright © 2011-2022 走看看