Vector,hashTable使用代价较大

1.两者实现线程安全的方式都是通过重量级锁实现的,所以当代码量比较大时就会占用大量资源这显然不太可观;

2.hashMap和hashTable不同点:

2.1hashMap的key可以为nul,hashTable不可以为null,前者key为null是hash值为0,不为null时高低位与运算。

2.2获取下标的方式不同,hashTable获取下标的方式是取余;

2.3前者不是线程安全的,后者是线程安全的;

2.4前者是实现了Map的接口,后者由于历史原因是继承了Dictionary类;

2.5前者没有contains方法,后者是containsKey方法;

3.ArrayList和Vetor的区别:

3.1前者不是线程安全的,后者使用了synchronized关键字修饰,是线程安全的;

3.2扩容的方式不同,前者是1.5倍,后者是可以自定义扩容的长度(或者是增加原先的长度);

4.hashTable和vector基本不再维护了;

全部评论

相关推荐

10-29 16:42
门头沟学院 Java
1.今天什么国标的公司打电话约面试,还得准备ppt,好麻烦,网上查薪资一般,打算拒了,不面了2.字节又复活了,什么安全开发,也不知道怎么样,面一面试试吧,还是挺想去字节的,但好难,随缘吧所以今天没面试
嵌入式的小白:面试前可以好好准备下 1.看看你投递的岗位的岗位描述,分析下是哪个业务线,同使要罗列他们描述中提到的技术点 2.根据1中的两点准备 3.岗位描述中应该还有语言要求,这个刷刷八股,要是对自己语言能力很有把握,那就不用看这点了 4.找下你简历中项目部分,看有没有和岗位描述中技术点重合的,这种在面试提到项目时,是高概率问题 好好准备,祝你面试顺利
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务