集合框架之List ArrayList和Vector
ArrayList:
ArrayList是List接口的实现类,其底层数据结构为数组,实现大小可变的数组。
ArrayList 是 线程不安全的 ,jdk1.2。
ArrayList 底层数据结构是数组,默认数组大小是10,如果添加的元素个数超过容量的话,ArrayList会自动扩容。
扩容的规则为:newCapacity = oldCapacity + oldCapacity / 2。
如果未来确定序列的元素不在增加,通过调用trimToSize()调制容量至合适的空间。
ArrayList作为List接口的实现类,常用的方法和遍历方法可参考List接口的。
Vector:
Vector是List接口的实现类,其底层数据结构为数组,实现大小可变的数组。
Vector 是 线程安全的 ,jdk1.0。
Vector 底层数据结构是数组,默认数组大小是10,如果添加的元素个数超过容量的话,Vector 会自动扩容。
扩容的规则为:newCapacity = oldCapacity +capacityIncrement(增长因子)
如果未来确定序列的元素不在增加,通过调用trimToSize()调制容量至合适的空间。
Vector 作为List接口的实现类,常用的方法和遍历方法可参考List接口的。
注意:Vector 在实现List接口的同时,同添加了自身特有的方法xxxElement,未来使用时为了程序的可拓展性,一定要按照接口来操作Vector。
线程不安全使用ArrayList,线程安全使用Vector。