首页 > 其他 > 详细

Vector和ArrayList的区别联系,Hashtable和HashMap的区别联系

时间:2019-12-23 23:00:21      阅读:85      评论:0      收藏:0      [点我收藏+]

Vector、Hashtable是早期的集合类,线程安全,但是效率低下,被相同原理、结构的ArrayList、HashMap取代。

1、Vector和ArrayList的区别和联系:

联系:实现原理相同,功能相同,都是长度可变的数组,很多情况下可以互用

两者的主要区别如下:

1)Vector是早期的JDK接口,ArrayList是替代Vector的新街口

2)Vector线程安全,ArrayList线程不安全,但速度快

3)扩容时Vector默认增长一倍,ArrayList增长50%

2、Hashtable和HashMap的联系和区别:

联系:实现原理相同,功能相同,底层都是哈希表结构,查询速度快,在很多情况下可以互用

两者的主要区别如下:

1)Hashtable是早期的JDK提供的接口,HashMap是新版的JDK提供的接口

2)Hashtable继承Dictionary类,HashMap实现Map接口

3)Hashtable线程安全,HashMap线程非安全

4)Hashtable的键和值都不允许null,HashMap允许均为null值

综上所述,在实际开发中,Vector、Hashtable使用越来越少;现在更多的是多并发的集合类,即第三代集合类:ConCurrentHashMap、CopyOnWriterArrayList和CopyOnWriterArraySet。用法与第二代集合类相同,实现原理有所不同。

Vector和ArrayList的区别联系,Hashtable和HashMap的区别联系

原文:https://www.cnblogs.com/sinoaccer/p/12088801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!