黑马程序员技术交流社区

标题: 关于ArrayList的问题 [打印本页]

作者: 暗影    时间: 2014-8-2 23:21
标题: 关于ArrayList的问题
数组由于长度固定增删慢,但ArrayList的底层数组是可变长的,为什么还是增删慢。


作者: lemon_tree    时间: 2014-8-2 23:36
因为他的底层是数组结构的,每个数据都有自己的索引,如果删除或者增加一个数,这个数据后面的数据的位置都要改变
作者: 王松朝    时间: 2014-8-2 23:38
因为存储空间是连续的,如果删除中间一个数据,剩下的数据要重新排列以保证存储空间是连续的,这就做了很多无用功,所以就慢了

LinkedArrayList 是使用链表方式存储的,增删快
链表的存储方式是只存一个地址,实际数据爱在哪在哪
作者: 继续悲伤    时间: 2014-8-2 23:47
因为ArrayList底层数据结构是数组,每个数据都有自己的索引,如果进行增删操作,这个数据后面的数据的位置都要改变,现在学习存储数据少没有什么感觉,以后存储的数据多了就知道差别了!但是他查询很快啊!线程不同步,效率高!
作者: 王一勇    时间: 2014-8-2 23:49
数组的特点,就是增删慢,查询快~




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