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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 欧德林 中级黑马   /  2012-4-22 10:27  /  3246 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Vector与map,ArrayList的区别在哪呢?

学了就忘记了,Vector一点感觉都没有,这个怎么用?

Vector v =new Vector ();  和 ArrayList a  =new  ArrayList();区别在哪

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

4 个回复

倒序浏览
Vector在实现中使用了同步机制,并发性能差,属于历史集合类,不是不提倡使用了吗?
回复 使用道具 举报
Vector:底层是数组数据结构。线程同步。被ArrayList替代了。
Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程同步的。Jdk1.0,效率低。
HasMap:底层是哈希表数据结构,允许使用null键和null值,该集合是不同步的。Jdk1.2,效率高。
TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步。
Vector非常类似ArrayList,但是Vector是同步的。
Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马