Metoda Java String compareTo (): jak używać z przykładami

Spisie treści:

Anonim

Co to jest metoda compareTo () w Javie?

CompareTo () służy do leksykograficznego porównywania dwóch ciągów. Każdy znak obu ciągów jest konwertowany na wartość Unicode. Jeśli jednak oba ciągi są równe, ta metoda zwraca 0, w przeciwnym razie daje tylko wartość ujemną lub dodatnią.

Metoda Java String compareTo () jest zdefiniowana w interfejsie java.lang.Comparable

Składnia: Jak napisać metodę compareTo () w Javie :

public int compareTo(String str)

Wprowadzanie parametrów:

str - Funkcja compareTo () w Javie akceptuje tylko jeden typ danych wejściowych String.

Zwroty metod:

Ta metoda języka Java compareTo () zwraca typ danych typu int, który jest oparty na leksykograficznym porównaniu dwóch ciągów.

  • zwraca <0, a następnie String wywołujący metodę jest leksykograficznie pierwszy
  • zwraca == 0, to dwa łańcuchy są leksykograficznie równoważne
  • zwraca> 0, wtedy parametr przekazany do metody Java CompareTo () jest leksykograficznie pierwszy.

Metoda Java String compareTo () Przykład:

Przykład 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"));}}

Wynik

Porównaj z „a” b to: -1

Porównaj z „b” a to: 1 Porównaj z „b” b to: 0

Tutaj,

  • Znak a występuje przed b alfabetycznie. Stąd wynik wynosi -1
  • Znak b występuje po alfabetycznie. Stąd wynik wynosi 1
  • Znak b jest równoważny, stąd wynik wynosi 0.

Możesz użyć metody Użyj "compareToIgnoreCase" w przypadku, gdy nie chcesz, aby wynik był wrażliwy na wielkość liter. Rozumiemy na przykładzie Java compareTo ().

Przykład 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"));}}

Wynik

Porównaj z „ROCKSTAR”: -32 Porównaj z „ROCKSTAR” - Zignorowano wielkość liter: 0

Kiedy używać metody compareTo () w Javie?

Metoda Java String compareTo () służy do naturalnego sortowania ciągu. Sortowanie naturalne oznacza porządek sortowania, który ma zastosowanie do obiektu, np. Porządek leksykalny dla ciągu znaków, porządek numeryczny dla liczb całkowitych itp.

Porządek leksykalny to nic innego jak porządek alfabetyczny. CompareTo () Metoda Java wykonuje sekwencyjne porównanie liter w ciągu, które mają tę samą pozycję.

W tej metodzie, jeśli pierwszy ciąg jest zawsze leksykograficznie wyższy niż drugi, zwraca liczbę dodatnią.

jeśli a1> a2, zwraca liczbę ujemną

jeśli a1

jeśli a1 == a2, zwraca 0

Rozumiemy na przykładzie Java String compareTo ().

Przykład 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 + "\"");}}}

Wynik:

Ciąg 1: Guru1

Ciąg 2: Guru2 „Guru1” jest leksykograficznie wyższe niż „Guru2”