Метод 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 приймає лише один тип даних вхідного рядка.

Повернення методу:

Цей метод compareTo () Java повертає тип даних 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 () використовується для природного сортування рядка. Натуральне сортування означає порядок сортування, який застосовується до об’єкта, наприклад, лексичний порядок для рядка, числовий порядок для сортування цілих чисел тощо.

Лексичний порядок - це не що інше, як алфавітний порядок. 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: Гуру1

Рядок 2: Гуру2 "Гуру1" лексикографічно вищий за "Гуру2"