Java String compareTo() 메서드:예제와 함께 사용하는 방법
자바에서 compareTo() 메소드란 무엇입니까?
비교 대상() 사전순으로 두 문자열을 비교하는 데 사용됩니다. 두 문자열의 각 문자는 유니코드 값으로 변환됩니다. 그러나 두 문자열이 모두 같으면 이 메서드는 0을 반환하고 그렇지 않으면 음수 또는 양수 값만 반환합니다.
Java String compareTo() 메소드는 인터페이스 java.lang.Comparable
에 정의되어 있습니다.
구문:자바에서 compareTo() 메소드를 작성하는 방법 :
public int compareTo(String str)
매개변수 입력:
str – Java의 compareTo() 함수는 하나의 입력 문자열 데이터 유형만 허용합니다.
메서드 반환:
이 compareTo() Java 메서드는 두 문자열 간의 사전식 비교를 기반으로 하는 int 데이터 유형을 반환합니다.
- <0을 반환하면 메서드를 호출하는 문자열이 사전순으로 먼저 표시됩니다.
- 반환 ==0이면 두 문자열은 사전순으로 동일합니다.
- returns> 0이면 Java compareTo() 메소드에 전달된 매개변수가 사전순으로 첫 번째입니다.
자바 문자열 compareTo() 메소드 예:
compareTo() 자바 예제 1:
public class Sample_String {
public static void main(String[] args) {
String str_Sample = "a";
System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b"));
str_Sample = "b";
System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a"));
str_Sample = "b";
System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b"));
}
}
출력
'a' b와 비교:-1
'b' b와 비교:1
'b' b와 비교:0
여기,
- 문자는 알파벳순으로 b 앞에 옵니다. 따라서 출력은 -1입니다.
- 문자 b는 알파벳순으로 뒤에 옵니다. 따라서 출력은 1입니다.
- 문자 b는 동일하므로 출력은 0입니다.
결과가 대소문자를 구분하지 않도록 하려면 "compareToIgnoreCase" 메서드를 사용할 수 있습니다. Java compareTo() 예제로 이해합시다.
compareTo() 자바 예제 2:
public class Sample_String {
public static void main(String[] args) {
//Compare to a String
String str_Sample = "RockStar";
System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
//Compare to - Ignore case
System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));
}
}
출력
'ROCKSTAR'와 비교:-32
'ROCKSTAR'와 비교 – 대소문자 무시:0
Java에서 compareTo() 메소드를 언제 사용합니까?
Java String compareTo() 메서드는 문자열에 대한 자연 정렬을 수행하는 데 사용됩니다. 자연 정렬은 개체에 적용되는 정렬 순서를 의미합니다(예:문자열의 경우 어휘 순서, 정수 정렬의 경우 숫자 순서 등).
어휘 순서는 알파벳 순서일 뿐입니다. compareTo() Java 메소드는 동일한 위치에 있는 문자열의 문자를 순차적으로 비교합니다.
이 방법에서 첫 번째 문자열이 항상 두 번째 문자열보다 사전순으로 높으면 양수를 반환합니다.
1> a2이면 음수를 반환합니다.
1
a1 ==a2이면 0을 반환합니다.
Java String compareTo() 예제로 이해합시다.
compareTo() 자바 예제 3:
public class Compare {
public static void main(String[] args) {
String s1 = "Guru1";
String s2 = "Guru2";
System.out.println("String 1: " + s1);
System.out.println("String 2: " + s2);
// Compare the two strings.
int S = s1.compareTo(s2);
// Show the results of the comparison.
if (S < 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically higher than " + "\"" + s2 + "\"");
} else if (S == 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically equal to " + "\"" + s2 + "\"");
} else if (S > 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically less than " + "\"" + s2 + "\"");
}
}
}
출력:
문자열 1:Guru1
문자열 2:Guru2
"Guru1"은 사전순으로 "Guru2"보다 높습니다.