黑马程序员技术交流社区

标题: 关于ArrayList跟Vector [打印本页]

作者: 郭兴业    时间: 2013-4-20 21:40
标题: 关于ArrayList跟Vector
ArrayList是数组实现,它是每次增加50%,线程不安全.
Vector 是数组实现  它每次拉回100%,线程安全的。
那个  增加50%跟拉回100%的理解

作者: 山西_李帅    时间: 2013-4-20 21:44
ArrayList增加50%的意思是,每一次往集合里面添加元素,集合的大小都会扩充50%,它是线程不安全的。
Vector也是List集合的一种,它每次是增加100%,它是线程安全。
我们在选择List集合时,首选ArrayList集合。
作者: gerenvip    时间: 2013-4-21 01:12
Vector:底层是数组数据结构,线程同步。被ArrayList替代了
ArrayList:是不同步的。
他们构造一个初始容量都为 10 的空列表
当往ArrayList中存满时,再存数据,ArrayList就会自动扩容50%,就是再增加原来大小的50%
Vector缺省情况下自动增长原来一倍的数组长度,即翻倍的增加。
作者: 先小涛    时间: 2013-4-21 12:37
每次增加100%,就会越来越浪费内存空间的。你想想,每次增加一倍的空间总比每次增加一半的空间浪费的可能性要大很多了,这也是前辈们根据开发经验总结出来的规律。
作者: 黄玉昆    时间: 2013-4-21 21:55
如果问题未解决,请继续追问,如果问题解决了,请将问题分类改为“已解决”,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2