さまざまな Java 比較関数のパフォーマンス比較:equals() に最も時間がかかります。 CompareTo() と Compare() は同様のパフォーマンスを持ち、両方とも equals() よりも優れています。
Java 関数のパフォーマンス比較比較
Java 開発では、コードのパフォーマンスを最適化する必要があります。比較関数はコードにおける一般的な操作の 1 つであり、効率を向上させるには適切な比較関数を選択することが重要です。この記事では、さまざまな Java 比較関数を比較し、それらのパフォーマンスの違いを示す実践的な例を示します。
比較関数
Java には、次のようなさまざまな比較関数が用意されています。
equals()
: 比較2 つのオブジェクトが等しいかどうか。 compareTo()
: 2 つのオブジェクトのサイズ順序を比較します。 compare()
: 2 つのオブジェクトを比較した整数の結果を返します。 パフォーマンスの比較
これらの関数のパフォーマンスを比較するために、次のコード スニペットを作成しました:
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 中国語 Web サイトの他の関連記事を参照してください。