>  기사  >  Java  >  Java 기능 비교의 성능 비교

Java 기능 비교의 성능 비교

WBOY
WBOY원래의
2024-04-20 13:03:01819검색

다양한 Java 비교 함수의 성능 비교: equals()가 가장 오랜 시간이 걸립니다. CompareTo()와 Compare()는 비슷한 성능을 가지며 둘 다 Equals()보다 우수합니다.

Java 기능 비교의 성능 비교

Java 기능 비교의 성능 비교

Java 개발에서는 코드의 성능을 최적화하는 것이 필요합니다. 비교 함수는 코드의 일반적인 작업 중 하나이며, 효율성을 높이려면 적절한 비교 함수를 선택하는 것이 중요합니다. 이 기사에서는 다양한 Java 비교 함수를 비교하고 성능 차이를 설명하는 실제 예제를 제공합니다.

비교 함수

Java는 다음을 포함한 다양한 비교 함수를 제공합니다.

  • equals(): 두 개체가 같은지 비교합니다.
  • 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(): 두 객체의 크기 순서를 비교합니다.

compare(): 두 객체를 비교한 정수 결과를 반환합니다. 🎜🎜성능 비교🎜🎜🎜이러한 함수의 성능을 비교하기 위해 다음 코드 조각을 만들었습니다. 🎜rrreee🎜🎜Practical Case🎜🎜🎜위 코드 조각은 1백만 개가 포함된 배열에서 작동합니다. equals(), compareTo()compare() 함수는 목록에서 비교됩니다. 실행 결과는 다음과 같습니다. 🎜rrreee🎜이 결과에서 compareTo()compare()의 성능이 equals보다 훨씬 우수하다는 것을 알 수 있습니다. () 코드> 비교. 🎜

위 내용은 Java 기능 비교의 성능 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.