在前面的【这篇文章】中,我简单介绍了栈这种数据结构的操作功能,并使用C语言对其进行了代码的编写。

  Java的JDK中默认为我们提供了栈这种数据结构的API—— Stack 。

  Java中的Stack类继承自 Vector 类。Vector也是Java中的一种数据结构,和ArrayList非常相似,不同的是Vector支持线程同步,也就是说,Vector可以理解为ArrayList的线程同步版。Stack继承自Vector类,自然就也是线程同步的了。

  栈中有两个最主要的方法:压栈 push() 和弹栈 pop() 。从ArrayList这个与Vector极度相似的类的角度来说,push()操作就是在表的最后添加一个元素的操作;pop()操作就是将表中的最后一个元素删除并返回的操作。两个方法都是直接沿用Vector中现有的方法,因此不加赘述,直接上源码:

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

 

相关文章:

  • 2022-12-23
  • 2021-11-16
  • 2021-11-09
  • 2021-04-25
  • 2021-06-24
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-30
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2022-02-15
  • 2021-06-10
  • 2021-07-23
相关资源
相似解决方案