I want to measure time of getting elements of ArrayList. I know that using ArrayList we can get any element in constant time. I tried to check this writing code, but it returns wrong result for first element.
My code:
private long getGetTime(int position) {
    long elapsedTime = 0;
    long start = System.nanoTime();
    list.get(position);
    long end = System.nanoTime();
    elapsedTime = end - start;
    return elapsedTime;
}
preapareStructure();
System.out.println("read 0, time: " + getGetTime(0));
System.out.println("read size/2, time: " + getGetTime(list.size()/2));
System.out.println("read size-1, time: " + getGetTime(list.size()-1));
And this returns something like this:
read 0, time: 10243
read size/2, time: 843
read size-1, time: 843
 
    