배열에서 원하는 값을 찾으려면 순차적으로 탐색해야 하는거 아닌가요?

상수시간의 장점을 이용하려면 주소에 어떤 값이 저장되어 있는지 알고 있어야 써먹을수 있는거 아닌지...

예를 들어서 a[3]에 1이라는 값이 저장되어 있는데 이걸 알면

한방에a[3]을 불러서 상수시간으로 해결 할 수 있는데

모르면 루프 돌려서 a[0]부터 탐색해야 하니까 결국 O(n)시간 걸릴것 같은데 맞나요?