在前面的【这篇文章】中,我简单介绍了栈这种数据结构的操作功能,并使用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;
}

最新文章

  1. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛
  2. photoshop学习入门:选择和处理
  3. raw,cow,qcow,qcow2镜像的比较
  4. Slave2: no datanode to stop(权限)
  5. JS判断是wap端访问网站还是PC端访问,然后进行自动跳转的代码
  6. JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
  7. PC上安装多个操作系统
  8. for循环进阶
  9. 淘宝设计师入门:设计师SDK环境配置
  10. js学习--DOM操作详解大全一(浏览器对象)
  11. wpf 控件截屏
  12. 【技巧】datagrid锁定列后重新加载时出现错位问题的解决
  13. js中获取URL参数的共通方法getRequest()方法
  14. Delphi MDI 子窗体的创建和销毁 [zhuan]
  15. linux每日命令(27):chmod命令
  16. [No0000177]详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
  17. [翻译] INSSearchBar
  18. C# 格式化一些知识点
  19. 【BZOJ3144】切糕(网络流,最小割)
  20. appium+python自动化29-toast

热门文章

  1. 第五篇 Flask 中内置的 Session
  2. 【xinsir】分享一个查找文件的脚手架
  3. 在VMware下的Linux中的RAID10校验位算法下的磁盘管理
  4. 【51nod 1251】 Fox序列的数量(以及带限制插板法讲解)
  5. 磁盘冗余阵列之RAID10的配置
  6. JavaScript BOM学习
  7. Go组件学习——Web框架Gin
  8. 创建基于OData的Web API - Knowledge Builder API, Part II:Project Setup
  9. Vue项目性能优化整理
  10. 关于配置Nginx反向代理后SpringSecurity认证失败的问题解决