不同 Java 比較函數的效能比較:equals() 耗時最長。 compareTo() 和 compare() 表現相近,皆優於 equals()。
Java 函數比較的效能比較
在 Java 開發中,有必要最佳化程式碼的效能。比較函數是程式碼中常見的操作之一,選擇合適的比較函數對於提高效率至關重要。本文將比較不同的 Java 比較函數,並提供實戰案例來說明它們的效能差異。
比較函數
Java 提供了多種比較函數,包括:
equals()
:比較兩個物件是否相等。 compareTo()
:比較兩個物件的大小順序。 compare()
:傳回比較兩個物件結果的整數。 效能比較
為了比較這些函數的效能,我們建立了以下程式碼片段:
List<Integer> numbers = new ArrayList<>(); for (int i = 0; i < 1000000; i++) { numbers.add(i); } // 使用 equals() 比较 long startTime = System.currentTimeMillis(); for (int i = 0; i < numbers.size() - 1; i++) { numbers.get(i).equals(numbers.get(i + 1)); } long endTime = System.currentTimeMillis(); System.out.println("equals() 比较耗时:" + (endTime - startTime) + "ms"); // 使用 compareTo() 比较 startTime = System.currentTimeMillis(); for (int i = 0; i < numbers.size() - 1; i++) { numbers.get(i).compareTo(numbers.get(i + 1)); } endTime = System.currentTimeMillis(); System.out.println("compareTo() 比较耗时:" + (endTime - startTime) + "ms"); // 使用 compare() 比较 startTime = System.currentTimeMillis(); for (int i = 0; i < numbers.size() - 1; i++) { Integer.compare(numbers.get(i), numbers.get(i + 1)); } endTime = System.currentTimeMillis(); System.out.println("compare() 比较耗时:" + (endTime - startTime) + "ms");
#實戰案例
上面的程式碼片段在一個包含100 萬個整數的清單上比較了equals()
, compareTo()
和compare()
函數。運行結果如下:
equals() 比较耗时:13111ms compareTo() 比较耗时:1093ms compare() 比较耗时:1112ms
從這些結果可以看出,compareTo()
和compare()
比較在效能上明顯優於equals()
比較。
以上是Java函數比較的效能比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!