集合框架之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。

   

 

posted @ 2019-05-05 21:02  luojack  阅读(317)  评论(0编辑  收藏  举报