Array/ArrayList 如何直接到对象的索引?或者 ArrayList 是如何知道对象存储在这个地方的?

How Array/ArrayList goes direct to the index of object? Or How ArrayList get to know that the object is stored at this place?

在面试室,面试官问我arraylist怎么这么快,我说它实现了RandomAccess,但是他问random access对查找内存区域的对象有什么好处? 你想说对象在内存中是按行存储的,例如它转到第 10 个索引

数组只是一块内存以及数据类型(int、boolean、String 等)的起点。数据类型用于确定元素间隔多远。

A Java ArrayList 类似于数组,但具有其他功能。

使用数组(或任何与数组相关的数据结构)时,单个 read/write 操作速度很快,并且与数组的总大小完全无关。如果您想要百万分之一的数组元素,只需一次计算即可确定该元素的位置(一百万 * <size of each element>)——无需扫描或搜索。

您可以在网上找到很多很棒的资源read more about arrays。对数组有深入的了解是值得的,这不仅是为了求职面试,也是为了对计算机的工作原理有一个全面的了解。

因为 ArrayList 是 List 接口的可调整大小的数组实现。 请参阅下面link以更好地理解它:

ArrayList Internal Working