首页 > 编程语言 > 详细

4.22JavaArrayList的底层实现

时间:2021-04-22 23:51:40      阅读:25      评论:0      收藏:0      [点我收藏+]

4.22JavaArrayList的底层实现

ArrayList的底层实现原理

ArrayList底层是用数组实现的存储

特点:

  • 查询效率高、增删效率低

  • 线程不安全

一般情况下仍然使用ArrayList,因为多数情况不涉及频繁的修改

频繁修改操作:---LinkList

线程安全:---vector

ArrayList源码---为什么ArrayList可以存放任意数量的对象且长度不限?

采用数组扩容的方式实现

先定义一个长度的数组,当超过长度是再去定义一个长度更长的数组,JDK的底层源码是通过算法原长度 + (原长度/2))去定义新的数组的长度

老的数组的内容拷贝到新的数组中

新的内容继续放入新的数组后面

ArrayList源码解读

ArrayList Remove源码

将原数组的后一位索引值拷贝到所要移除的元素的索引位置---所以说如果数组长度很长要用ArrayList改的话就会拷贝索要修改的索引后面所有的元素往前移,费资源且耗时

源码解读:

 技术分享图片

4.22JavaArrayList的底层实现

原文:https://www.cnblogs.com/JunkingBoy/p/14691068.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!