ArrayList的动态扩展
ArrayList相比较Array来说,具有的优势是可以动态扩展,即它所包含的成员 个数是不确定的,可以随着不断地添加,或者移除进行扩展。但我们一定要知道 的是,ArrayList是基于Array(数组)的,我们来看一下它的构造函数 其实这个Items是一个object的数组。这也从另外一方面说明了ArrayList是基 于Object的,所以无法避免装箱和拆箱操作。这与泛型的List是不一样的 那么,到底ArrayList是如何动态扩展的呢?是不是需要增加一个元素的时候 ,就扩展一次呢?不是这样的。 首先,ArrayList的初始化个数是4.当请求的条目总数将要大于目前的个数, 例如现在要插入第5个元素时,它并不是扩展一个空间,而是将现有的个数乘以2 ,然后将原来的元素复制过去.如下面所示 了解这个原理将有助于我们更好地理解ArrayList的机制,从经验上说,应该 为ArrayList设置一个合适的Capacity,这样就不会出现为了一个元素的增长,而 申请那么多的空间的问题. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |