集合10-Stack类源码分析

2017-06-01  本文已影响0人  zhanglbjames

定义

Stack继承自Vector

Vector

自由伸缩的矢量数组队列

  1. 定义

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

  1. 特点

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

Stack的实现


  1. Stack栈顶位于Vector缓冲数组的末尾。
  2. 底层基于数组的Stack的实现借助父类Vector的方法实现起来比较简单,同时注意到更改Stack结构的操作都被实现为同步synchronized方法,所以功能上是线程安全的,但是效率上是很低。
  3. 如果不考虑线程安全的问题也可以考虑使用LinkedList(基于链表实现的Stack接口)
上一篇下一篇

猜你喜欢

热点阅读