プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

Java 処理時間の計測方法

開始と終了時の時間を取得して計算
 
 

■ミリ秒で取得:System.currentTimeMillis()

 
 


■ナノ秒で取得:System.nanoTime()

 
 


■使用例

package java_project;

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        //処理計測用のリスト
        List<String> list = Arrays.asList(
                "aaa"
                ,"bbb"
                ,"ccc");

        ///// list.forEachメソッドの処理時間 /////

        //処理開始時間の取得
        long startTime1 = System.nanoTime();

        list.forEach(e -> System.out.print(""));

        //処理終了時間の取得
        long endTime1 = System.nanoTime();

        System.out.println("list.forEachメソッドの処理時間 : " + (endTime1 - startTime1) + "ナノ秒");

        ///// list.stream().forEachメソッドの処理時間 /////

        //処理開始時間の取得
        long startTime2 = System.nanoTime();

        list.stream().forEach(e -> System.out.print(""));

        //処理終了時間の取得
        long endTime2 = System.nanoTime();

        System.out.println("list.stream().forEachメソッドの処理時間 : " + (endTime2 - startTime2) + "ナノ秒");

        ///// 拡張for文の処理時間 /////
        long startTime3 = System.nanoTime();

        for (String item : list) {
            System.out.print("");
        }

        //処理終了時間の取得
        long endTime3 = System.nanoTime();

        System.out.println("拡張for文の処理時間 : " + (endTime3 - startTime3) + "ナノ秒");
    }
}