首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

初始化(Map,List)容器类的容量会有一定的性能提拔

2012-10-08 
初始化(Map,List)容器类的容量会有一定的性能提升?容器类底层的数据结构大多使用数组,我们知道数组是不能

初始化(Map,List)容器类的容量会有一定的性能提升

?容器类底层的数据结构大多使用数组,我们知道数组是不能动态修改它的size,假如非要修改的话,只要初始化另外一个更大容量的数据,并将原来的数据复制过去。对容器类的插入操作,首先就得check是否容量满足,如不满足先扩展

        // overflow-conscious code        int oldCapacity = elementData.length;        int newCapacity = oldCapacity + (oldCapacity >> 1);//扩展为原来容量的1.5倍        if (newCapacity - minCapacity < 0)            newCapacity = minCapacity;        if (newCapacity - MAX_ARRAY_SIZE > 0)            newCapacity = hugeCapacity(minCapacity);        // minCapacity is usually close to size, so this is a win:        elementData = Arrays.copyOf(elementData, newCapacity);//复制操作    

热点排行