Какво представлява методът compareTo () в Java?
compareTo () се използва за сравнение на два низа лексикографски. Всеки знак от двата низа се преобразува в Unicode стойност. Въпреки това, ако и двата низа са равни, тогава този метод връща 0, иначе води до отрицателна или положителна стойност.
Методът Java String compareTo () е дефиниран в интерфейса java.lang.Comparable
Синтаксис: Как да напиша метод compareTo () в Java :
public int compareTo(String str)
Въвеждане на параметър:
str - Функцията compareTo () в Java приема само един тип данни тип String.
Връщане на метода:
Този метод compareTo () Java връща тип данни int, който се основава на лексикографското сравнение между два низа.
- връща <0, след което String, извикващ метода, е лексикографски първи
- връща == 0, тогава двата низа са лексикографски еквивалентни
- връща> 0, след това параметърът, предаден на метода Java compareTo (), е първо лексикографски.
Метод Java String 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“ a е: 1 Сравнение с „b“ b е: 0Тук,
- Символът a идва преди b по азбучен ред. Следователно изходът е -1
- Символът b идва след азбука. Следователно изходът е 1
- Символът b са еквивалентни, следователно изходът е 0.
Можете да използвате метод Използвайте "compareToIgnoreCase" в случай, че не искате резултатът да бъде чувствителен към малки и големи букви. Нека разберем с пример за сравнение на Java.
Пример 2:
public class Sample_String {public static void main(String[] args) {//Compare to a StringString str_Sample = "RockStar";System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));//Compare to - Ignore caseSystem.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}
Изход
Сравнение с „ROCKSTAR“: -32 Сравнение с „ROCKSTAR“ - Игнориран случай: 0
Кога да използвам метода compareTo () в Java?
Методът Java String compareTo () се използва за извършване на естествено сортиране на низ. Естествено сортиране означава реда за сортиране, който се прилага за обекта, например лексикален ред за String, числов ред за сортиране на цели числа и др.
Лексикалният ред не е нищо друго освен азбучен ред. compareTo () Java методът прави последователно сравнение на букви в низа, които имат една и съща позиция.
При този метод, ако първият низ винаги е лексикографски по-висок от втория низ, той връща положително число.
ако a1> a2, връща отрицателно число
ако a1 ако a1 == a2, връща 0 Нека да разберем с пример Java String compareTo (). Пример 3: Изход: Низ 1: Гуру1public 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 + "\"");}}}