A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

况仕

初级黑马

  • 黑马币:0

  • 帖子:7

  • 精华:0

© 况仕 初级黑马   /  2012-5-25 09:12  /  2124 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList和Vector的区别,HashMap和Hashtable的区别?

3 个回复

正序浏览
同学,这些内容毕老师在Day16中都有详细描述,主要是线程的区别。你如果没有这些视频的话,我可以发给你。
希望能够帮到你~~
回复 使用道具 举报
区别:Hashtable与HashMap
Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现.他们底层都是哈希表数据结构。
Hashtable不可以存入null值,null键,该集合线程是同步的。
HashMap可以存入null值null键,该集合线程是不同步的。

区别:ArrayList与Vector
ArrayList、Vector都实现了List接口。(List接口继承了Collection接口)
1.版本:Vector集合是在JDK1.0的时候出现的。     ArrayList集合是在JDK1.2的时候出现的。
2.数据结构:ArrayList、Vector:底层用的是数组数据结构。
3.线程方面:ArrayList是线程不安全的,它的方法之间是线程不同步的。。   Vector是线程安全的,他的方法之间线程是同步的。
4.存储特点:ArrayList与Vector都有一个初始容量,当存储进它们里面的元素的个数超过了容量时,就需要增加ArrayList与Vector的存储空间。
             ArrayList每次增长为原来的0.5倍。Vector每次增长为原来的一倍。
5.操作效率:ArrayList:查询速度快,但是增删稍慢。  Vector:增删查都慢。
            一般建议不使用Vector.尽量使用ArrayList.如果需要线程同步,就把ArrayList加上一个同步锁即可。


评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
ArrayList和Vector的区别
ArrayList不支持同步,在JavaSE1.2中新增。Vector支持同步,在JavaSE1.0中提供。两个在使用上基本相同
HashMap和Hashtable的区别
HashMap不支持同步,支持null类型的键和值,版本1.2。Hashtable支持同步,但不支持null类型的键和值版本1.0。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马