首 页 行业热点 新车 试驾评测 养车用车 车型库

ArrayList和Vector的区别是什么?HashMap和Hashtable的区别呢?

发布网友 发布时间:2022-03-29 13:01

我来回答

1个回答

热心网友 时间:2022-03-29 14:31

ArrayList和Vector都实现了List接口,我们可以分析其源代码,很容易找出它们的区别:
Vector中的add方法如下:
public
synchronized
boolean
add(E
e)
{}
ArrayList中的add方法如下:
public
boolean
add(E
e)
很显然区别就在于一个有synchronized即线程同步,而另一外没有,参考源代码你会发现绝大部分方法都是这样的。
也就是说当存在多线程访问时,Vector比ArrayList要安全,但这种安全的代价就是要付出更多的系统性能
一般情况下我们是使用ArrayList,因为存在多线程去访问同一个list对象的可能性并不是太多。
对于HashMap和Hashtable原理是一样的,Hashtable实现了线程同步,能确保多线程访问时的安全性,性能要比hashMap低

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com