java-tip

本文详细对比了Vector与ArrayList, Hashtable与HashMap的区别。Vector和ArrayList均可表示数量可变的对象集合,但Vector方法同步,适合多线程环境;ArrayList非同步,性能更优,适用于单线程环境。Hashtable和HashMap类似,但Hashtable方法同步,且不支持null键和值。

Vector和ArrayList区别:
Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素.
Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,在不需要考虑多线程的环境下,ArrayList的性能比Vector好.
vector进行增、删操作速度快
而arrarlist可以随机定位,因此如果很少进行数据更新,就用arraylist.
如果想得到Vector的效果,可以用
List list=Collections.synchronizedList(new ArrayList());这样得到的list的方法同样都是synchronized.
当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间.
Hashtable和HashMap区别:
Hashtable和HashMap它们的性能方面的比较类似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是.
HashMap 类没有分类或者排序.它允许一个 null 键和多个 null 值.
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值.
它也比 HashMap 慢,因为它是同步的.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值