集合10-Stack类源码分析

定义

Stack继承自Vector

Vector

自由伸缩的矢量数组队列

  1. 定义

可以看出Vector的继承结构层次和ArrayList一样,都提供了List接口,随机访问的方法,克隆,序列化。

  1. 特点

Vector的实现和ArrayList的实现基本相同,如缓冲数据,扩容等主要不同点是对于可能发生的修改Vector结构的并发操作都是同步方法synchronized,由于存在大量的同步方法,同步粒度比较粗,效率很低,可以使用并发集合的数据结构来代替。
但是只重新实现了序列化方法,使用默认反序列化方法

Stack的实现


  1. Stack栈顶位于Vector缓冲数组的末尾。
  2. 底层基于数组的Stack的实现借助父类Vector的方法实现起来比较简单,同时注意到更改Stack结构的操作都被实现为同步synchronized方法,所以功能上是线程安全的,但是效率上是很低。
  3. 如果不考虑线程安全的问题也可以考虑使用LinkedList(基于链表实现的Stack接口)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容