java.util.Stack类简介(版本1.6--empty方法)
来源:互联网 发布:中兴光猫修改mac 编辑:程序博客网 时间:2024/06/14 08:05
Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来
Deque(双端队列)比起Stack具有更好的完整性和一致性,应该被优先使用
Stack本身通过扩展Vector而来,而Vector本身是一个可增长的对象数组( a growable array of objects)那么这个数组的哪里作为Stack的栈顶,哪里作为Stack的栈底?
答案只能从源代码中寻找,jdk1.6:
通过peek()方法注释The object at the top of this stack (the last item of the Vector object,可以发现数组(Vector)的最后一位即为Stack的栈顶
pop、peek以及search方法本身进行了同步
push方法调用了父类的addElement方法
empty方法调用了父类的size方法
Vector类为线程安全类
综上,Stack类为线程安全类(多个方法调用而产生的数据不一致问题属于原子性问题的范畴)
结果:
Stack并不要求其中保存数据的唯一性,当Stack中有多个相同的item时,调用search方法,只返回与查找对象equal并且离栈顶最近的item与栈顶间距离(见源码中search方法说明)
0 0
- java.util.Stack类简介(版本1.6--empty方法)
- java.util.Stack类简介
- java.util.Stack类简介
- java.util.Stack类简介
- java.util.Stack类简介
- java.util.Stack类简介
- java.util.Stack类简介
- java.util.Stack类中 empty() 和 isEmpty() 方法的作用
- Java.util.Stack类的peek()方法
- Java.util.Stack类的peek()方法
- java.util.Stack的用法及简介
- 【java】java.util.Stack类
- java.util.Stack翻译
- java.util.Stack
- java.util.Stack
- java.util.Stack
- java.util.Scanner类简介
- java.util.current的主要方法简介
- 卡耐基口才艺术
- 微信与朋友圈后台架构
- 2-4章
- mysql数据类型
- 浅谈React编程思想
- java.util.Stack类简介(版本1.6--empty方法)
- POJ_2411_Mondriaan's Dream【状态压缩DP】
- printf重定向
- 即将沉陷历史的Google Talk
- 用户注册的邮箱激活模块的设计与实现【申明:来源于网络】
- <操作系统:精髓与设计原理> I/O管理和磁盘调度
- 磁盘配额
- MVC动态拼接页面
- 【GDOI2017第四轮模拟day1】数列