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