Что такое метод compareTo () в Java?
compareTo () используется для лексикографического сравнения двух строк. Каждый символ обеих строк преобразуется в значение Unicode. Однако, если обе строки равны, этот метод возвращает 0, иначе он дает только отрицательное или положительное значение.
Метод Java String compareTo () определен в интерфейсе java.lang.Comparable
Синтаксис: как написать метод compareTo () в Java :
public int compareTo(String str)
Ввод параметров:
str - функция compareTo () в Java принимает только один входной тип данных String.
Метод возвращает:
Этот Java-метод compareTo () возвращает тип данных int, который основан на лексикографическом сравнении двух строк.
- возвращает <0, тогда строка, вызывающая метод, сначала лексикографически
- возвращает == 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.
Вы можете использовать метод Use «compareToIgnoreCase», если вы не хотите, чтобы результат был чувствительным к регистру. Давайте разберемся с примером Java compareTo ().
Пример 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: Guru1public 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 + "\"");}}}