美文网首页
Java基础之源码学习——Stack

Java基础之源码学习——Stack

作者: 筱南独舞 | 来源:发表于2016-07-28 17:40 被阅读23次

Stack继承Vector,是一种“后进先出”(LIFO)的数据结构,只能在一端进行插入或者删除数据的操作。

除了父类Vector的方法和stack的构造方法(默认长度是Vector的默认长度外,stack还有以下5个方法:

  1. empty(): boolean
    Returns whether the stack is empty or not.
    返回改Stack是否为空:当stack中不包含任何项时返回true,否则返回false。

  2. peek(): E
    Returns the element at the top of the stack without removing it.
    查看并返回栈顶的项,并没有移除该项。
    如果stack为空,抛出异常EmptyStackException

  3. pop(): E
    Returns the element at the top of the stack and removes it.
    移除栈顶对象,并作为函数值返回。
    如果stack为空,抛出异常EmptyStackException

  4. push(E): E
    Pushes the specified object onto the top of the stack.
    把项压入栈顶,并返回该项

  5. search(Object): int
    Returns the index of the first occurrence of the object, starting from the top of the stack.
    返回对象在栈中的位置:如果该对象在栈顶则返回1,如果改对象在栈底则返回stack的size,如果栈中有多项相同的项则返回离栈顶最近的那项的位置。


另:实际运用中发现的问题如下(后期继续补充)

  • 使用add(E)和push(E)效果是一样的

注:笔者依据的是jdk1.8.0_45,与其他版本有出入属于正常现象

相关文章

网友评论

      本文标题:Java基础之源码学习——Stack

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