Nice programing

Java에서 두 문자열을 비교하고 알파벳순으로 다른 문자열보다 작은 문자열을 어떻게 정의 할 수 있습니까?

nicepro 2020. 11. 20. 09:37
반응형

Java에서 두 문자열을 비교하고 알파벳순으로 다른 문자열보다 작은 문자열을 어떻게 정의 할 수 있습니까?


이진 검색 알고리즘을 사용하여 사용자가 매우 큰 정렬 된 파일에 입력 한 문자열을 검색하고 싶습니다. 바이너리 검색을 계속하기 위해 사용자가 입력 한 문자열과 파일의 중간 줄에있는 문자열을 비교할 수 없습니다.

예를 들어 사용자의 문자열이 abcda이고 파일의 문자열이 abcza이면 사용자의 문자열이 파일의 문자열보다 작은 것이 분명합니다. Java에서 어떻게 구현됩니까? 샘플 코드로 저를 도울 수 있다면 좋을 것입니다.


당신이 사용할 수있는

str1.compareTo(str2);

경우 STR1이 보다 사 전적으로 작은 STR2 , a negative number반환됩니다 0동일한 경우 또는 a positive number경우 str1이이 크다.

예 :

"a".compareTo("b"); // returns a negative number, here -1
"a".compareTo("a"); // returns  0
"b".compareTo("a"); // returns a positive number, here 1
"b".compareTo(null); // throws java.lang.NullPointerException

대소 문자를 무시하려면 다음을 사용할 수 있습니다.

String s = "yip";
String best = "yodel";
int compare = s.compareToIgnoreCase(best);
if(compare < 0){
    //-1, --> s is less than best. ( s comes alphabetically first)
}
else if(compare > 0 ){
// best comes alphabetically first.
}
else{
    // strings are equal.
}

Comparable에서 구현 한 인터페이스에 대해 들어 보지 않으 String셨습니까? 아니라면 사용해보십시오

"abcda".compareTo("abcza")

그리고 그것은 당신의 문제에 대한 해결책을위한 좋은 뿌리를 출력 할 것입니다.

참고 URL : https://stackoverflow.com/questions/5153496/how-can-i-compare-two-strings-in-java-and-define-which-of-them-is-smaller-than-t

반응형