一、学习Vector和Stack之前先学习ArrayList
二、详解
Vector底层实现、数据结构和ArrayList一样都是对数组的操作,只不过Vector的方法经过synchronized修饰是同步的所以Vector是线程安全的,还有扩容的时候如果不指定扩容大小会默认扩容为原来的2倍,ArrayList是1.5倍。
Stack是继承Vector,所以底层数据结构也是数组,只不过Stack它是按照栈的逻辑结构实现的,比如push方法在末尾压入一个元素和pop方法就是弹出最后一个元素,search方法也是从后往前查找,这些都是因为栈的特性是后入先出,有一点要注意Stack继承了Vector所以也不是严格上的栈,它能调用Vector的方法直接在中间去插入或者删除一个元素。