Maison  >  Article  >  Java  >  Comparaison des performances de la fonction Java

Comparaison des performances de la fonction Java

WBOY
WBOYoriginal
2024-04-20 13:03:01819parcourir

Comparaison des performances de différentes fonctions de comparaison Java : equals() prend le plus de temps. compareTo() et compare() ont des performances similaires et sont toutes deux meilleures que equals().

Comparaison des performances de la fonction Java

Comparaison des performances de la comparaison des fonctions Java

Dans le développement Java, il est nécessaire d'optimiser les performances du code. Les fonctions de comparaison sont l'une des opérations courantes dans le code, et le choix d'une fonction de comparaison appropriée est crucial pour améliorer l'efficacité. Cet article comparera différentes fonctions de comparaison Java et fournira des exemples pratiques pour illustrer leurs différences de performances.

Fonctions de comparaison

Java fournit une variété de fonctions de comparaison, notamment :

  • equals() : compare si deux objets sont égaux.
  • 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()compareTo() : Comparez l'ordre de taille de deux objets.

compare() : renvoie le résultat entier de la comparaison de deux objets. 🎜🎜Comparaison des performances🎜🎜🎜Pour comparer les performances de ces fonctions, nous avons créé l'extrait de code suivant : 🎜rrreee🎜🎜Cas pratique🎜🎜🎜L'extrait de code ci-dessus fonctionne sur un tableau contenant 1 million entiers. Les fonctions equals(), compareTo() et compare() sont comparées dans la liste. Les résultats en cours d'exécution sont les suivants : 🎜rrreee🎜Il ressort de ces résultats que les performances de compareTo() et compare() sont nettement meilleures que celles de equals () code> comparaison. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn