在面试间,面试官问我arraylist是怎么这么快的,我说它实现了RandomAccess,但他问随机访问对在内存区搜索对象有什么好处?你想说对象是以行的形式存储在内存中的吗?例如,它到了第10个索引
发布于 2019-10-11 01:02:25
数组只是一块内存以及数据类型(int、boolean、String 等)的起点。 数据类型用于确定元素之间的间距。
Java ArrayList类似于数组,但具有附加功能。
使用数组(或任何与数组相关的数据结构)时,单个读/写操作速度很快,并且与数组的总大小完全无关。 如果您想要第 100 万个数组元素,只需一次计算即可确定该元素的位置(一百万 * <size of each element>)——不涉及扫描或搜索。
网上有很多很棒的资源,您可以在其中read more about arrays。 对数组有一个扎实的理解是值得的,不仅是为了面试目的,也是为了对计算机如何工作的一般理解。
发布于 2019-10-11 15:02:21
因为ArrayList是List接口的一个可调整大小的数组实现。请参考下面的链接以更好地理解它:
https://stackoverflow.com/questions/58327532
复制相似问题