zoukankan      html  css  js  c++  java
  • ArrayList 的扩容机制(原理)是什么_面试题

    前言

    如果你没有看过ArrayList的底层源码,建议你去看一遍并理解,因为我也明白大家想快点刷题找工作,但这种你光看简略的表述是不能充分理解的。

    给大家一篇解析ArrayList底层源码的文章,希望对大家有帮助:

    https://www.cnblogs.com/ibcdwx/p/13769756.html

    ArrayList 的扩容机制(原理)是什么

      arraylist的底层是用数组来实现的。我们初始化一个arraylist集合还没有添加元素时,其实它是个空数组,只有当我们添加第一个元素时,内部会调用calculateCapacity方法并返回最小容量10,也就是说arraylist初始化容量为10。

      当最小容量大于当前数组的长度时,便开始可以扩容了,arraylist扩容的真正计算是在一个grow()里面,新数组大小是旧数组的1.5倍,如果扩容后的新数组大小还是小于最小容量,那新数组的大小就是最小容量的大小,后面会调用一个Arrays.copyof方法,这个方法是真正实现扩容的步骤。

  • 相关阅读:
    20190817-T1-LOJ6322「雅礼国庆 2017 Day6」Star Way To Heaven
    20190817-涪
    20190816-周期
    考试总结 模拟95
    考试总结 模拟94
    考试总结 模拟93
    考试总结 模拟92
    考试总结 模拟91
    考试总结 模拟90
    考试总结 模拟89
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13772669.html
Copyright © 2011-2022 走看看