首页 > 编程 > Java > 正文

java8 集合之Stack详解及实例

2019-11-26 13:03:12
字体:
来源:转载
供稿:网友

java  集合之Stack

概要:

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

Stack和Collection关系如下:

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表