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

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

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

参考答案:

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

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

相关推荐
极客柒1 分钟前
Unity 协程GC优化记录
java·unity·游戏引擎
我要去腾讯2 分钟前
Springcloud核心组件之Sentinel详解
java·spring cloud·sentinel
czhc11400756633 分钟前
Java117 最长公共前缀
java·数据结构·算法
吃着火锅x唱着歌24 分钟前
LeetCode 2016.增量元素之间的最大差值
数据结构·算法·leetcode
F_Director29 分钟前
简说Vue3 computed原理
前端·vue.js·面试
weixin_3077791335 分钟前
AWS Elastic Beanstalk 实现 Java 应用高可用部署指南
java·开发语言·云计算·aws·web app
萝卜白菜。1 小时前
关于Java EE应用中xml解析类的问题
xml·java·java-ee
一米阳光zw1 小时前
Spring Boot中使用 MDC实现请求TraceId全链路透传
java·spring boot·后端·traceid·mdc
王元_SmallA1 小时前
pgsql:connection failed connection to server at
java·后端
绝无仅有1 小时前
大厂面试相关文章:深入技术面试中的核心知识点
后端·面试·架构