Java 为什么不用Vector

Stack就是继承Vector的,而我们常常用Deque替代Stack(Deque可以当栈也可以当队列)

不使用Vector及子类原因如下:

1. 因为vector是线程安全的,所以效率低,这容易理解,类似StringBuffer

2. Vector空间满了之后,扩容是一倍,而ArrayList仅仅是一半

3. Vector分配内存的时候需要连续的存储空间,如果数据太多,容易分配内存失败

4. 只能在尾部进行插入和删除操作,效率低

上一篇:C++ | STL 浅谈deque容器


下一篇:python内置的队列模块