반응형
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")
그리고 그것은 당신의 문제에 대한 해결책을위한 좋은 뿌리를 출력 할 것입니다.
반응형
'Nice programing' 카테고리의 다른 글
| 클래스 매핑 오류 : 'T'는 매개 변수가없는 공용 생성자가있는 비추 상 유형이어야합니다. (0) | 2020.11.20 |
|---|---|
| MySQL의 필드 값과 함께 LIKE % .. % 사용 (0) | 2020.11.20 |
| Snow Leopard에서 .profile과 .bash_profile의 차이점 (0) | 2020.11.20 |
| PHP로 curl을 사용하여 파일을 업로드하는 방법 (0) | 2020.11.20 |
| Amazon CloudFront는 내 S3 웹 사이트 버킷의 index.html 규칙을 존중하지 않습니다. (0) | 2020.11.20 |