[kotlin] 배열의 요소를 비교하는 방법은?
- equals() 함수: Kotlin의 배열은 다른 객체와 마찬가지로 equals() 함수를 사용하여 비교할 수 있습니다. equals() 함수는 배열의 요소와 비교 대상 요소를 하나씩 비교하여 모든 요소가 동일한지 확인합니다. 다음은 배열 비교의 예시입니다.
val arr1 = arrayOf(1, 2, 3)
val arr2 = arrayOf(1, 2, 3)
val arr3 = arrayOf(1, 2, 4)
println(arr1.equals(arr2)) // true
println(arr1.equals(arr3)) // false
- contentEquals() 함수: contentEquals() 함수는 두 개의 배열을 비교하여 요소들이 동일한지 확인합니다. equals() 함수와 다른 점은 배열의 크기와 순서 또한 비교한다는 것입니다. 다음은 contentEquals() 함수의 사용 예시입니다.
val arr1 = arrayOf(1, 2, 3)
val arr2 = arrayOf(1, 2, 3)
val arr3 = arrayOf(3, 2, 1)
println(arr1.contentEquals(arr2)) // true
println(arr1.contentEquals(arr3)) // false
- deepEquals() 함수: deepEquals() 함수는 다차원 배열의 경우, 모든 차원과 요소들을 비교하여 동일한지 확인합니다. 다음은 deepEquals() 함수의 사용 예시입니다.
val arr1 = arrayOf(arrayOf(1, 2), arrayOf(3, 4))
val arr2 = arrayOf(arrayOf(1, 2), arrayOf(3, 4))
val arr3 = arrayOf(arrayOf(4, 3), arrayOf(2, 1))
println(arr1.contentDeepEquals(arr2)) // true
println(arr1.contentDeepEquals(arr3)) // false
이와 같은 방법을 사용하여 Kotlin에서 배열의 요소를 비교할 수 있습니다. 참고로, 배열의 내부 요소가 객체인 경우 객체의 equals() 함수가 정의되어 있어야 올바르게 비교됩니다.