jdk 1.7中 ArrayList的容量增长方式
来源:互联网 发布:京东通信网络不能用 编辑:程序博客网 时间:2024/06/05 05:16
在之前版本中newCapacity = oldCapacity + oldCapacity/2 +1;
jdk 1.7 中,做了一些改进,将除法操作改成了移位操作
public void ensureCapacity(int minCapacity) { if (minCapacity > 0) ensureCapacityInternal(minCapacity); } private void ensureCapacityInternal(int minCapacity) { modCount++; // overflow-conscious code if (minCapacity - elementData.length > 0) grow(minCapacity); } private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >> 1); 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); }
0 0
- jdk 1.7中 ArrayList的容量增长方式
- java 1.8 ArrayList容量增长方式
- java 1.7之后的Arraylist容量增长机制
- ArrayList集合容量增长
- c++ vector的容量增长方式
- 关于ArrayList的容量的增长的问题研究
- 【图解JDK源码】HashMap的容量大小增长原理(JDK1.6/1.7/1.8)
- ArrayList动态增长方式
- ArrayList长度增长方式
- 减少ArrayList的容量
- 不同JDK版本ArrayList 容量扩充问题
- ArrayList的初始容量和容量分配
- arraylist——ArrayList的容量
- Java中的ArrayList的容量
- Java中的ArrayList的容量
- JDK中ArrayList的实现分析
- 关于vector的容量增长问题
- 关于vector的容量增长问题
- leetcode--Combination Sum
- 查看数据库事务默认级别
- DOM方式对xml文档的增删改查
- 数据库操作(SQLite)
- Codeforence 393A
- jdk 1.7中 ArrayList的容量增长方式
- 分享与自我表现
- MariaDB 特性介绍-动态虚拟列
- 如何高效地做到大文本去除重复行
- container_of
- Android TV 屏幕适配相关
- Postgresql 创建主键并设置自动递增的三种方法
- 竟然用了40分钟。。Binary Tree Maximum Path Sum
- android-ndk ffmpeg移植