Vector(JDK1.0)和Hashtable(JDK1.0)

Vector是一个矢量队列,通过实现RandomAccess接口,即提供随机访问功能。Vector和ArrayList相似,不同的是Vector支持同步,而且Vector包含了许多传统的不属于集合框架的方法。
Vector
|(extneds)_AbstractList
|(implements)_List,RandomAccess,Cloneable,Serializable


Hashtable被集成到框架集合中,和HashMap类相似,主要的不同点在于Hashtable支持同步。
Hashtable<K,V>
|(extneds)_Dictionary
|(implements)_Map<K,V>,Cloneable,Serializable


生产中最好不要使用Vector和Hashtable了吧,忘了吧忘了吧,不需要线程安全的
Vector使用ArrayList代替,Hashtable使用hashMap代替;
需要线程安全的vector用
List list = Collections.synchronizedList(new ArrayList(…));集合操作类来实现,读多写少的场景可用CopyOnWriteArrayList来实现,Hashtable用则用ConcurrentHashMap来实现。
如果对于老旧的项目中有使用Vector和ArrayTable的,可以通过List list = Collections.synchronizedList(new ArrayList(…));来进行转化到为主流的形式;如果项目中是使用ArrayList等这些非线程安全的集合,如果遇到需要并发环境,并发度不像电商那样需要这么高的并发量的,也可以List list = Collections.synchronizedList(new ArrayList(…));来将不安全的集合转化为安全的集合来进行使用。

题外:关于遍历Vector、ArrayList、CopyOnWriteArrayList时的注意事项

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值