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

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

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

参考答案:

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

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

相关推荐
灰色孤星A19 分钟前
瑞吉外卖项目学习笔记(四)@TableField(fill = FieldFill.INSERT)公共字段填充、启用/禁用/修改员工信息
java·学习笔记·springboot·瑞吉外卖·黑马程序员·tablefield·公共字段填充
逊嘘24 分钟前
【Java数据结构】ArrayList相关的算法
java·开发语言
Y编程小白39 分钟前
SpringBoot的创建方式
java·spring boot·后端
sc写算法40 分钟前
Hash 映射
数据结构·算法·哈希算法
总是学不会.1 小时前
【集合】Java 8 - Stream API 17种常用操作与案例详解
java·windows·spring boot·mysql·intellij-idea·java集合
雅妮yyn1 小时前
头歌数据结构-排序的实现及其应用
数据结构·算法
潜意识起点1 小时前
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
java·spring boot·后端
mxbb.1 小时前
单点Redis所面临的问题及解决方法
java·数据库·redis·缓存
云和数据.ChenGuang1 小时前
《XML》教案 第1章 学习XML基础
xml·java·学习