源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java8 集合之Stack详解及实例

  • 时间:2021-10-05 14:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java8 集合之Stack详解及实例
[b]java  集合之Stack[/b] [b]概要:[/b] Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。 Stack和Collection关系如下: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100127_0_16312.jpg[/img] 基于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;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部