Метод Java String compareTo (): как использовать с примерами

Содержание:

Anonim

Что такое метод 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:

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»