Array/ArrayList如何直接找到对象的索引?

在面试室,面试官问我一个问题,arraylist怎么这么快,我说它实现了RandomAccess,但他问随机访问如何有利于搜索内存区域中的对象?你想说的是,对象在内存中是按行存储的,例如它会存储到第 10 个索引



森林海
浏览 73回答 2
2回答

慕无忌1623718

数组只是一块内存以及数据类型(int、boolean、String 等)的起点。数据类型用于确定元素的间隔距离。JavaArrayList与数组类似,但具有附加功能。当使用数组(或任何与数组相关的数据结构)时,单独的读/写操作速度很快并且与数组的总大小完全无关。如果您想要第 100 万个数组元素,只需一次计算即可确定该元素的位置(一百万 * <size of each element>) - 不涉及扫描或搜索。

互换的青春

因为ArrayList是List接口的可调整大小的数组实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java