欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java8 集合之Stack详解及实例

程序员文章站 2024-03-06 13:29:19
java  集合之stack 概要: stack是栈,特性是先进后出(filo,first in last out)。stack是继承于vector(矢量队列...

java  集合之stack

概要:

stack是栈,特性是先进后出(filo,first in last out)。stack是继承于vector(矢量队列),由于vector是同数组实现的,stack也是通过数组而非链表。

stack和collection关系如下:

java8 集合之Stack详解及实例

基于java8的源代码:

public class stack<e> extends vector<e> {

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

  //序列版本号
  private static final long serialversionuid = 1224463164541339165l;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!