Today I got to know that for loop is faster than foreach loop for a large amount of elements. after checking I found out that is on average 2 times faster for the below program in my machine.

Transcribed from the original LinkedIn image post.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.ArrayList;
import java.util.List;

public class Day06 {
    public static void main(String args[]) {
        List<String> fileTypeList = new ArrayList<>();
        for (int i = 0; i < 1000000; i++) {
            fileTypeList.add("fileType");
        }

        long beforeForLoop = System.currentTimeMillis();
        for (int i = 0; i < fileTypeList.size(); i++) {
            fileTypeList.get(i);
        }
        long afterForLoop = System.currentTimeMillis();
        System.out.println("Time took in millis for for " + (afterForLoop - beforeForLoop));

        long beforeForeachLoop = System.currentTimeMillis();
        for (String s : fileTypeList) {
        }

        long afterForeachLoop = System.currentTimeMillis();
        System.out.println("Time took in millis for foreach " + (afterForeachLoop - beforeForeachLoop));
    }
}

The original LinkedIn graphic is preserved below.

Day 6 LinkedIn post