ホームページ  >  記事  >  Java  >  Java関数の性能比較比較

Java関数の性能比較比較

WBOY
WBOYオリジナル
2024-04-20 13:03:01881ブラウズ

さまざまな Java 比較関数のパフォーマンス比較:equals() に最も時間がかかります。 CompareTo() と Compare() は同様のパフォーマンスを持ち、両方とも equals() よりも優れています。

Java関数の性能比較比較

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。