10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

ArrayList 基于 array, 顾名思义。

 

ArrayList是用数组实现的,这个数组的内存是连续的,不存在你说的相邻元素之间还隔着其他内存什么的
索引ArrayList时,速度比原生数组慢是因为你要用get方法,这是一个函数调用,而数组直接用[ ]访问,相当于直接操作内存地址,速度当然比函数调用快 

 

===

 

 

1、新建ArrayList的时候,JVM为其分配一个默认或指定大小的连续内存区域(封装为数组)

2、每次增加元素会检查容量,不足则创建新的连续内存区域(大小等于初始大小+步长),也用数组形式封装,并将原来的内存区域数据复制到新的内存区域,然后再用ArrayList中引用原来封装的数组对象的引用变量引用到新的数组对象:

posted on 2017-05-31 11:30  CanntBelieve  阅读(256)  评论(0编辑  收藏  举报