Java程式用於計算陣列排序時間
在本文中,我們將學習如何測量在Java中排序陣列所需的時間。我們將研究兩種計算排序時間的方法:使用Date類和System.nanoTime()方法。
首先,我們將使用Date類來跟蹤排序操作之前和之後的時間,從而計算以毫秒為單位的持續時間。然後,我們將利用System.nanoTime()以更高的精度捕獲時間,以納秒為單位進行測量並將結果轉換為毫秒。
不同的方法
以下是使用Java測量排序陣列所需時間的不同方法:
使用Date類
以下是使用Date類計算陣列排序時間的步驟:
- 首先,我們將匯入用於排序的Arrays類和用於跟蹤時間的Date類,它們都來自java.util包。
- 建立一個整數陣列並用一系列數字填充它。
- 在排序開始之前,我們將捕獲當前時間。
- 使用Arrays.sort()方法來排序陣列。
- 記錄結束時間並在排序完成後捕獲當前時間。
- 最後,我們將計算結束時間和開始時間之間的差值,並以毫秒顯示排序時間。
示例
以下是使用Date類計算陣列排序時間的Java程式:
import java.util.Arrays;
import java.util.Date;
public class Demo {
public static void main(String[] args) {
int[] arr = new int[1000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (i + 20);
}
Date past = new Date();
Arrays.sort(arr);
Date future = new Date();
System.out.println("Time (milliseconds) = " + (future.getTime() - past.getTime()));
}
}
輸出
Time (milliseconds) = 2
使用System.nanoTime()
以下是使用System.nanoTime()計算陣列排序時間的Java程式:
- 首先,我們將從java.util包匯入Arrays類。
- 我們初始化一個大小為1000的整數陣列,並用從20開始的值填充它,並且我們使用System.nanoTime()捕獲以納秒為單位的當前時間,而不是使用Date。
- 我們呼叫Arrays.sort()來排序陣列。
- 我們再次使用System.nanoTime()來捕獲排序後的時間。
- 排序操作的持續時間是透過從結束時間減去開始時間來找到的。
- 最後,我們以納秒和毫秒(透過將持續時間除以1,000,000)列印排序時間。
示例
以下是使用System.nanoTime()計算陣列排序時間的Java程式:
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] arr = new int[1000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (i + 20);
}
long startTime = System.nanoTime();
Arrays.sort(arr); // Sort the array
long endTime = System.nanoTime();
long duration = endTime - startTime;
System.out.println("Time (nanoseconds) = " + duration);
System.out.println("Time (milliseconds) = " + (duration / 1_000_000));
}
}
輸出
Time (nanoseconds) = 187525
Time (milliseconds) = 0
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP