ArrayList和Vector的区别?
作者:互联网
解析:碰到这类题目,老师给的建议就是先别和面试官谈区别,而是巧妙的把相同点献上,再说出区别,让面试官眼前一亮的感觉。
相同点:
1.都是使用数组来存储数据的。
2.功能相同,实现增删改查的操作相似。
3.都是容量大小动态可变的数组。
不同点:
1.Vector是线程安全的,而ArrayList是线程不安全的。
在谈到线程是否安全这里,我们可以使用一个模板就是:
一旦线程安全,后面就可以说它的方法之间是线程同步的。然后举一反三。如果只有一个线程会访问到集合,最好使用线程不安全的那个,因为不用考虑线程安全,所以执行效率要高。而多个线程访问集合,最好使用线程安全的那个,这样不需要程序员再去考虑和编写线程安全的代码。
2.ArrayList与Vector都是一个初始的容量大小。如果存储超过容量,就需要增加存储空间。
Vector默认增长为原来的两倍,从源码看ArrayList增长为原来的1.5倍。Vector有设计增长空间的方法,而Vector没有。
本文并非全部原创,根据资料和自己的见解进行总结
hcybx 发布了46 篇原创文章 · 获赞 39 · 访问量 5847 私信 关注标签:面试官,区别,ArrayList,安全,Vector,线程,相同点 来源: https://blog.csdn.net/weixin_42635052/article/details/104194324