Leistungsvergleich verschiedener Java-Vergleichsfunktionen: equal() dauert am längsten. CompareTo() und Compare() haben eine ähnliche Leistung und sind beide besser als Equals().
Leistungsvergleich des Java-Funktionsvergleichs
Bei der Java-Entwicklung ist es notwendig, die Leistung des Codes zu optimieren. Vergleichsfunktionen gehören zu den häufigsten Operationen im Code, und die Auswahl einer geeigneten Vergleichsfunktion ist entscheidend für die Verbesserung der Effizienz. In diesem Artikel werden verschiedene Java-Vergleichsfunktionen verglichen und praktische Beispiele zur Veranschaulichung ihrer Leistungsunterschiede bereitgestellt.
Vergleichsfunktionen
Java bietet eine Vielzahl von Vergleichsfunktionen, darunter:
equals()
: Vergleicht, ob zwei Objekte gleich sind.equals()
:比较两个对象是否相等。
compareTo()
:比较两个对象的大小顺序。compare()
:返回比较两个对象结果的整数。性能比较
为了比较这些函数的性能,我们创建了以下代码段:
Listnumbers = 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()
: Vergleichen Sie die Größenreihenfolge zweier Objekte.
compare()
: Gibt das ganzzahlige Ergebnis des Vergleichs zweier Objekte zurück. LeistungsvergleichUm die Leistung dieser Funktionen zu vergleichen, haben wir das folgende Code-Snippet erstellt: rrreeePraktischer FallDas obige Code-Snippet funktioniert auf einem Array mit 1 Million In der Liste werden die Funktionen
equals()
,
compareTo()
und
compare()
verglichen. Die laufenden Ergebnisse lauten wie folgt: rrreeeAus diesen Ergebnissen ist ersichtlich, dass die Leistung von
compareTo()
und
compare()
deutlich besser ist als
equals ()
Code> Vergleich.
Das obige ist der detaillierte Inhalt vonLeistungsvergleich des Java-Funktionsvergleichs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!