Kaj je metoda compareTo () v Javi?
compareTo () se uporablja za leksikografsko primerjavo dveh nizov. Vsak znak obeh nizov se pretvori v vrednost Unicode. Če sta oba niza enaka, potem ta metoda vrne 0, drugače pa povzroči le negativno ali pozitivno vrednost.
Metoda Java String compareTo () je definirana v vmesniku java.lang.Comparable
Sintaksa: Kako napisati metodo compareTo () v Javi :
public int compareTo(String str)
Vnos parametra:
str - Funkcija compareTo () v Javi sprejema samo en vhodni podatkovni niz.
Vrnitev metode:
Ta metoda compareTo () Java vrne tip podatkov int, ki temelji na leksikografski primerjavi med dvema nizoma.
- vrne <0, potem je String, ki prikliče metodo, najprej leksikografsko
- vrne == 0, potem sta niza leksikografsko enakovredna
- vrne> 0, potem je leksikografsko najprej parameter, ki se pošlje metodi Java compareTo ().
Metoda Java String compareTo () Primer:
Primer 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"));}}
Izhod
Primerjaj z 'a' b je: -1
Primerjaj z 'b' a je: 1 Primerjaj z 'b' b je: 0Tukaj,
- Znak a je pred a po abecedi. Izhod je torej -1
- Znak b je po abecedi. Izhod je torej 1
- Znak b je enakovreden, zato je izhod 0.
Uporabite lahko metodo Uporabi "compareToIgnoreCase", če ne želite, da rezultat razlikuje med velikimi in malimi črkami. Razumejmo s primerom Java compareTo ().
2. primer:
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"));}}
Izhod
Primerjaj z "ROCKSTAR": -32 Primerjaj z "ROCKSTAR" - Ignoriran primer: 0
Kdaj uporabiti metodo compareTo () v Javi?
Metoda Java String compareTo () se uporablja za naravno razvrščanje nizov. Naravno razvrščanje pomeni vrstni red razvrščanja, ki velja za predmet, npr. Leksikalni vrstni red za niz, številski vrstni red za razvrščanje celih števil itd.
Leksikalni red ni nič drugega kot abecedni red. compareTo () Java izvede zaporedno primerjavo črk v nizu, ki imajo enak položaj.
Če je pri tej metodi prvi niz vedno leksikografsko višji od drugega, vrne pozitivno število.
če je a1> a2, vrne negativno število
če je a1 če je a1 == a2, vrne 0 Razumejmo s primerom Java String compareTo (). 3. primer: Izhod: Niz 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 + "\"");}}}