JAVA Vector & ArrayList 的主要区别
来源:互联网 发布:98年击沉印尼军舰 知乎 编辑:程序博客网 时间:2024/06/07 19:00
Vector & ArrayList 的主要区别
1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的 数2。
2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayList却是原来的50% ,这样,ArrayList就有利于节约内存空间。
如果涉及到堆栈,队列等操作,应该考虑用Vector,如果需要快速随机访问元素,应该使用ArrayList 。
1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的 数2。
2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayList却是原来的50% ,这样,ArrayList就有利于节约内存空间。
如果涉及到堆栈,队列等操作,应该考虑用Vector,如果需要快速随机访问元素,应该使用ArrayList 。
扩展知识:
1. Hashtable & HashMap
Hashtable和HashMap它们的性能方面的比较类似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。
2. ArrayList & LinkedList
ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更象数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更象一个链表结构,所以,它们在性能上有很大的差别:
从上面的分析可知,在ArrayList的前面或中间插入数据时,你必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能; 而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。
0 0
- JAVA Vector & ArrayList 的主要区别
- Vector & ArrayList 的主要区别
- java基础之ArrayList和Vector的主要区别;
- ArrayList与LinkedList、Vector主要区别
- Java Vector与ArrayList的区别
- Java中ArrayList和Vector的区别
- Java中Vector和ArrayList的区别
- Java中ArrayList和Vector的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- java中vector 和 Arraylist的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- Java中Vector和ArrayList的区别
- 决策树 C&RT、CHAID、QUEST、C5.0的区别
- 图解Fiddler如何抓手机APP数据包【超详细】
- Google 开源的 Android 排版库:FlexboxLayout
- C#调用Oracle带输出数据集的存储过程
- 在使用VS2010时所遇见的问题总结
- JAVA Vector & ArrayList 的主要区别
- spark-submit 运行参数问题记录
- 【map的lower_bound up, 与erase】stl
- 阿里云文件迁移工具使用小结
- 周鸿祎:真想不通是张小龙这样的人做出了微信!
- 【bzoj4152】【AMPPZ2014】The Captain
- LeetCode OJ (2)
- 什么是交叉编译,为什么要使用交叉编译?
- srs代码学习(7)--消息接收过程