数组怎么实现动态分配长度?数组的长度为什么不固定?求大神讲解
3条回答 默认 最新
- danielinbiti 2016-03-22 07:54关注
没有动态,最终还是数组复制,小数组换大数组
//这是数据扩充的核心代码,最终就是arrays.copyof 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); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报