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方法,这个方法是真正实现扩容的步骤。

  • 相关阅读:
    PHP命名空间
    php各个版本的区别
    MySQL的读写分离---主从复制、主主复制
    redis的安装和php的redis扩展
    php的设计模式
    git命令详情
    memcache和redis的对比
    mysql性能优化
    MySQL的分区、分表、集群
    nginx的反向代理和负载均衡
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13772669.html
Copyright © 2011-2022 走看看