一、是否是线程安全的

Vector是同步的, 而ArrayList不是.
因为Vector是同步的, 所以它是线程安全的.
同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以它要比ArrayList要慢.但仅仅是理论上说,具体测试结果二者差别十分不明显

二、动态增加元素的过程

Vector允许用户设置capacityIncrement这样在每次需要扩充数组的size的时候, Vector会尝试按照预先设置的capacityIncrement作为增量来设置, 而ArrayList则会把数组的大小扩大一倍.

比如现在同样一个长度为10的Vector和ArrayList, 我们把Vector的capacityIncrement设为1
那么我们在插入第11个对象的时候, Vector会将长度变成11, 然后分配空间, 然后将对象添加进去, 而ArrayList则会分配20个对象的空间, 然后将对象添加进去.
如果capacityIncrement设为0或者负值, Vector就会做和ArrayList一样, 每次都将数组大小扩大一倍.

参考自:

http://blog.csdn.net/fzh0803/article/details/6312005

一分钟了解ArrayList和Vector的区别相关推荐

  1. ArrayList和Vector的区别

    这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...

  2. ArrayList 和 Vector 的区别

    ArrayList 和 Vector 的区别是什么? Vector 的方法都是同步的,线程安全:ArrayList 非线程安全,但性能比Vector好 默认初始化容量都是10,Vector 扩容默认会 ...

  3. Java中ArrayList和Vector的区别

    首先想说的是: Vector是在Collections API之前就已经产生了的, 而ArrayList是在JDK1.2的时候才作为Collection framework的一部分引入的. 它们都是在 ...

  4. Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...

    ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...

  5. ArrayList与LinkedList、Vector的区别 HashMap与HashTable、HashSet的区别

    一.ArrayList 和 LinkedList区别: (1)两者都是线程不安全,都实现了Collection接口. (2)数据结构:ArrayList是基于动态数组的数据结构,LinkedList是 ...

  6. ArrayList和Vector的异同

    这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...

  7. Java-ArrayList和Vector的区别

    这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...

  8. ArrayList 和 Vector 的区别是什么?

    首先两个类都实现了List接口.他们都是有序不唯一的集合,说白了就是存储元素的位置是有序的(每一个元素都以一个对应的索引),相当于一个动态数组 ArrayList和Vector的区别,主要包括两个方面 ...

  9. ArrayList和Vector有什么区别?

    本文翻译自:What are the differences between ArrayList and Vector? 两个数据结构ArrayList和Vector之间有什么区别,你应该在哪里使用它 ...

最新文章

  1. Ubuntu安装Flash视频插件
  2. Redis 5种数据结构
  3. npm WARN install Refusing to install vue-router as a dependency of itself
  4. 网页上加在线客服代码QQ,MSN,skype,goolge TALK,雅虎通,贸易通,淘宝旺旺
  5. SAP发布S4/HANA 意义超过R3
  6. 安装linux桌面总结
  7. vue 外部方法调用内部_vue函数内部调用外部函数,报错外部函数不是函数
  8. java 课后习题 键入日期输入星期几
  9. 【剑指offer】35、复杂链表的复制
  10. C#调用Microsoft.DirectX.DirectSound问题记录及解决
  11. 彪悍榴莲姐再袭 这次一口气吃掉10斤
  12. R语言data manipulation学习笔记之创建变量、重命名、数据融合
  13. pe下修复linux磁盘分区,找回丢失的Linux分区及Grub修复过程
  14. mac的python换字体_Python -mac-画图及设置坐标中文字体
  15. 【JZOJ4598】准备食物
  16. 关于在VM安装CentOS的经验总结
  17. spark开发及调优
  18. sqlserver实现抽奖Demo
  19. subversion的配置与使用
  20. C/C++ 假币问题

热门文章

  1. 初探GNN-文本表示学习
  2. 调剂2002年计算机科学与技术,教育部关于做好2002年全国研究生录取工作的通知...
  3. python简单的爬虫教程中召唤小海龟_Python练习,网络小爬虫(初级)
  4. 天翼云从业认证课后习题(第四章云场景化解决方案综合应用)
  5. 【架构】互联网架构三马车:微服务+消息队列+定时任务
  6. openssl 生成证书相关符号意义
  7. 笔记-中项案例题-2018年上-整体管理
  8. IDEA中双击两下shift全局搜索怎样取消和修改
  9. Webservice开发之xsd文件示例代码
  10. 手机访问同局域网下的PC中Tomcat中的项目