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

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

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

参考答案:

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

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

相关推荐
carterwu6 分钟前
如何自建一个类似antd的组件库?
面试
可乐加.糖10 分钟前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
s91236010112 分钟前
rust 同时处理多个异步任务
java·数据库·rust
9号达人13 分钟前
java9新特性详解与实践
java·后端·面试
cg501717 分钟前
Spring Boot 的配置文件
java·linux·spring boot
啊喜拔牙25 分钟前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
owde41 分钟前
顺序容器 -list双向链表
数据结构·c++·链表·list
uhakadotcom43 分钟前
Zustand状态管理库:轻量级、高效的React解决方案
前端·javascript·面试
第404块砖头43 分钟前
分享宝藏之List转Markdown
数据结构·list
anlogic1 小时前
Java基础 4.3
java·开发语言