01One block of memory
An array stores its elements side by side in one contiguous block of memory. Every element has the same size, for example 4 bytes for an int.
That makes finding any element pure arithmetic. If the array starts at address base, then
address of a[i] = base + i × size
One multiplication and one addition, no matter whether i is 3 or 3 million. This is random access in O(1), the array's superpower.
Contiguous memory has a second bonus: when the CPU loads a[i], it also pulls its neighbours into the cache, so scanning an array from left to right is very fast in practice.