一聚教程网:一个值得你收藏的教程网站

热门教程

java8 集合之Stack详解及实例

时间:2022-06-29 01:42:19 编辑:袖梨 来源:一聚教程网

java  集合之Stack

概要:

Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。

Stack和Collection关系如下:

基于Java8的源代码:

 代码如下复制代码

publicclassStackextendsVector{

 

  publicStack() {//创建空栈

  }

 

  publicE push(E item) {//入栈

    addElement(item);

    returnitem;

  }

  //出栈

  publicsynchronizedE pop() {

    E    obj;

    int  len = size();

    obj = peek();

    removeElementAt(len -1);

    returnobj;

  }

  //返回栈顶元素,但并不出栈

  publicsynchronizedE peek() {

    int  len = size();

 

    if(len ==0)

      thrownewEmptyStackException();

    returnelementAt(len -1);

  }

  //判断栈是否为空

  publicbooleanempty() {

    returnsize() ==0;

  }

  //查找元素并返回栈深

  publicsynchronizedintsearch(Object o) {

    inti = lastIndexOf(o);

 

    if(i >=0) {

      returnsize() - i;

    }

    return-1;

  }

 

  //序列版本号

  privatestaticfinallongserialVersionUID = 1224463164541339165L;

}

热门栏目