반응형
이전 글
이전 글에서 compareTo()의 String을 주로 정리를 해봤다면 이번에는 Int형을 기준으로 정리해보려 한다.
Int형을 compareTo() 함수를 통해 비교하며 정리한 건 아래와 같다.
Int형의 반환 값은 1, 0 , -1 총 3가지만 존재한다. 기준 값이 비교 값보다 더 클 경우 1을 반환하고 기준 값과 비교 값이 같은 경우 0을 반환하며 기준 값보다 비교 값이 더 큰 경우에는 -1을 반환한다.
val num1 = 100
val num2 = -12
val num3 = 1
val num1_num2 = num1.compareTo(num2)
val num2_num3 = num2.compareTo(num3)
val num1_num1 = num1.compareTo(num1)
println("${num1}.compareTo(${num2}): $num1_num2")
println("${num2}.compareTo(${num3}): $num2_num3")
println("${num1}.compareTo(${num1}): $num1_num1")
위에서부터 하나씩 살펴보면
100이 -12 보다 크기 때문에 1이 반환
-12는 1 보다 작기 때문에 -1이 반환
100과 100은 서로 같은 값이기 때문에 0을 반환
String에 비해 Int형 비교에 대한 포스팅이 너무 짧아서 좀 그렇긴 하지만 이 정도면 되지 않을까 싶다...
풀 소스 코드
fun main(args: Array<String>) {
val a = "123"
val b = "193"
val c = "125"
val a_a = a.compareTo(a)
val a_b = a.compareTo(b)
val b_a = b.compareTo(a)
val a_c = a.compareTo(c)
println("\"${a}\".compareTo(\"${b}\"): $a_b")
println("\"${b}\".compareTo(\"${a}\"): $b_a")
println("\"${a}\".compareTo(\"${a}\"): $a_a")
println("\"${a}\".compareTo(\"${c}\"): $a_c")
println("\n")
val alphaA = "a"
val alphaP = "p"
val alphaUpperA = "A"
val alpahUpperZ = "Z"
val alphaA_alphaP = alphaA.compareTo(alphaP)
val alphaP_alphaA = alphaP.compareTo(alphaA)
val alphaA_alphaUpperA = alphaA.compareTo(alphaUpperA)
val alpahUpperZ_alphaP = alpahUpperZ.compareTo(alphaP)
println("\"${alphaA}\".compareTo(\"${alphaP}\"): $alphaA_alphaP")
println("\"${alphaP}\".compareTo(\"${alphaA}\"): $alphaP_alphaA")
println("\"${alphaA}\".compareTo(\"${alphaUpperA}\"): $alphaA_alphaUpperA")
println("\"${alpahUpperZ}\".compareTo(\"${alphaP}\"): $alpahUpperZ_alphaP")
println("\n")
val blank = ""
val alphaB = "b"
val d = "3"
val e = "142"
val str = "baserdpp"
val alphaB_blank = alphaB.compareTo(blank)
val blank_d = blank.compareTo(d)
val e_blank = e.compareTo(blank)
val blank_str = blank.compareTo(str)
println("\"${alphaB}\".compareTo(\"${blank}\"): $alphaB_blank")
println("\"${blank}\".compareTo(\"${d}\"): $blank_d")
println("\"${e}\".compareTo(\"${blank}\"): $e_blank")
println("\"${blank}\".compareTo(\"${str}\"): $blank_str")
println("\n")
val sameString1 = "090"
val sameString2 = "090090"
val anotherString = "009009"
val sameString1_sameString2 = sameString1.compareTo(sameString2)
val sameString1_anotherString = sameString1.compareTo(anotherString)
val anotherString_sameString2 = anotherString.compareTo(sameString2)
println("\"${sameString1}\".compareTo(\"${sameString2}\"): $sameString1_sameString2")
println("\"${sameString1}\".compareTo(\"${anotherString}\"): $sameString1_anotherString")
println("\"${anotherString}\".compareTo(\"${sameString2}\"): $anotherString_sameString2")
println("\n")
val num1 = 100
val num2 = -12
val num3 = 1
val num1_num2 = num1.compareTo(num2)
val num2_num3 = num2.compareTo(num3)
val num1_num1 = num1.compareTo(num1)
println("${num1}.compareTo(${num2}): $num1_num2")
println("${num2}.compareTo(${num3}): $num2_num3")
println("${num1}.compareTo(${num1}): $num1_num1")
}
반응형
'개발' 카테고리의 다른 글
compareTo() 정리(String) - Kotlin (1) (2) | 2021.03.12 |
---|---|
String 관련 함수 정리 (0) | 2021.03.05 |
개발하면서 자주 썼던 함수 정리 (maxBy, minBy, groupBy, map, reduce, indices, compareTo) (0) | 2021.03.05 |