【Java集合类面试二十六】、介绍一下ArrayList的数据结构?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

面试官:介绍一下ArrayList的数据结构?

参考答案:

ArrayList的底层是用数组来实现的,默认第一次插入元素时创建大小为10的数组,超出限制时会增加50%的容量,并且数据以 System.arraycopy() 复制到新的数组,因此最好能给出数组大小的预估值。

按数组下标访问元素的性能很高,这是数组的基本优势。直接在数组末尾加入元素的性能也高,但如果按下标插入、删除元素,则要用 System.arraycopy() 来移动部分受影响的元素,性能就变差了,这是基本劣势。

相关推荐
一定要AK13 分钟前
萌新赛练习
数据结构
RainbowSea17 分钟前
补充:问题:CORS ,前后端访问跨域问题
java·spring boot·spring
RainbowSea19 分钟前
15. MySQL 多版本并发控制
java·sql·mysql
倔强的石头10627 分钟前
飞算JavaAI:重构软件开发范式的智能引擎
java·数据库·重构
前端小巷子28 分钟前
跨域问题解决方案:JSONP
前端·javascript·面试
Q_9709563943 分钟前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
要开心吖ZSH1 小时前
微服务架构的演进:迈向云原生
java·微服务·云原生
为了更好的明天而战1 小时前
Java 中的 ArrayList 和 LinkedList 区别详解(源码级理解)
java·开发语言
JosieBook2 小时前
【Java编程动手学】Java中的数组与集合
java·开发语言·python
N_NAN_N2 小时前
类图+案例+代码详解:软件设计模式----单例模式
java·单例模式·设计模式