标签:
关于vector,ArrayList,hashMap和hashtable之间的区别
vector和ArrayList: 线程方面: vector是旧的,是线程安全的 ArrayList是java2之后才有的,是非线程安全的 所以在多线程的情况下,最好使用vector,因为其线程安全,在只有一个线程的情况下最好使用ArrayList,由于它是非线程安全的,所以效率更高。 数据增长方面: vector和ArrayList都可以在初始化的时候设置其初始值,在超过初始值之后,vector默认增长是按照初始值的2倍,而且可以自定义设置,ArrayList的相关文档上没说增长是多少,但是查看源码是初始值的1.5倍,好像不可以自定义设置。
hashtable和hashMap: hashtable是旧的,是线程安全的 hashMap是java2之后才有的,是非线程安全的 hashMap是hashtable的一个轻量级实现 hashtable是继承自directory hashMap是实现Map接口 hashMap去掉了hashtable的contains方法,增加了containskey和containsvalue方法 hashMap可以将值和键设置为null,hashtable不行。
hashtable,hashMap,vector和ArrayList
标签:
原文地址:http://www.cnblogs.com/Mindreader/p/5389361.html