[JAVA] 자바 compareTo()

Kim Hyen Su·2023년 8월 17일
0

⏲️ 알고리즘

목록 보기
34/95

compareTo()

이 함수는 두개의 값을 비교하여 int 값으로 반환해주는 함수.

compareTo() 함수는 문자열 비교숫자의 비교 두가지 방식이 존재한다.

숫자의 비교의 경우, 크다(1), 같다(0), 작다(-1) 라는 결과값을 반환해준다.

문자열의 비교의 경우, 같다(0), 그 외 양수/음수값과 같이 예상되지 못한 값을 반환해준다.

숫자형 비교

기준값.compareTo(비교값)

  • 기준값과 비교값이 동일한 경우 0
  • 기준값이 비교값보다 작은 경우 -1
  • 기준값이 비교값보다 큰 경우 +1

문자열 비교

  1. 비교대상에 문자열이 포함되어있을 경우
  • 서로의 문자열 길이의 차이값을 반환.
String str = "abcd";

str.compareTo("a") : 3
str.compareTo("ab") : 2
str.compreTo("c") : -2
  • 3번째 문자열 "c"와 비교한 경우에는, str의 첫문자와 다른 문자열이므로, "a"와 "c"의 아스키 코드 차이값을 반환한다.

a = 97, c = 99 -> 97 - 99 = -2

  1. 비교대상과 전혀 다른 문자열인 경우
  • 아스키값을 기준으로 비교.
  • 영대소문자를 구분하여 비교한다.
String str = "abcd";

str.compareTo("zffd"); : -25
str.compreTo("AB"); : 32
  • "a" 와 "z" 비교 : 97 - 122 = -25
  • "a" 와 "A" 비교 : 97 - 65 = 32

※ 영대소문자 무시하고 비교해주는 compareToIgnorecase() 함수가 존재한다.

profile
백엔드 서버 엔지니어

0개의 댓글