Hvad er sammenligningsmetoden () i Java?
CompareTo () bruges til at sammenligne to strenge leksikografisk. Hvert tegn i begge strenge konverteres til en Unicode-værdi. Men hvis begge strengene er ens, så returnerer denne metode 0 ellers resulterer det kun i negativ eller positiv værdi.
Metoden Java String CompareTo () er defineret i interface java.lang.Comparable
Syntaks: Sådan skriver du en comparTo () -metode i Java :
public int compareTo(String str)
Parameterindgang:
str - CompareTo () -funktionen i Java accepterer kun én input-streng-datatype.
Metode returnerer:
Denne CompareTo () Java-metode returnerer en int-datatype, der er baseret på den leksikografiske sammenligning mellem to strenge.
- returnerer <0, så er den streng, der kalder metoden, først leksikografisk
- returnerer == 0, så er de to strenge leksikografisk ækvivalente
- returnerer> 0, så er parameteren, der sendes til Java-sammenligningTo () -metoden, først leksikografisk.
Java String CompareTo () metode Eksempel:
Eksempel 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"));}}
Produktion
Sammenlign med 'a' b er: -1
Sammenlign med 'b' a er: 1 Sammenlign med 'b' b er: 0Her,
- Tegn a kommer før b alfabetisk. Derfor er output -1
- Tegn b kommer efter alfabetisk. Derfor er output 1
- Tegn b er ækvivalente, derfor er output 0.
Du kan bruge metoden Brug "CompareToIgnoreCase" i tilfælde af, at du ikke vil have, at resultatet er store og små bogstaver. Lad os forstå det med et Java sammenligne til () eksempel.
Eksempel 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"));}}
Produktion
Sammenlign med 'ROCKSTAR': -32 Sammenlign med 'ROCKSTAR' - Sag ignoreret: 0
Hvornår skal man bruge comparTo () -metoden i Java?
Java String CompareTo () -metoden bruges til at udføre naturlig sortering på streng. Naturlig sortering betyder den sorteringsrækkefølge, der gælder for objektet, fx leksikalsk rækkefølge for streng, numerisk rækkefølge for sortering af heltal osv.
Lexikal rækkefølge er intet andet end alfabetisk. CompareTo () Java-metoden foretager en sekventiel sammenligning af bogstaver i strengen, der har samme position.
I denne metode, hvis den første streng altid er leksikografisk højere end den anden streng, returnerer den et positivt tal.
hvis a1> a2 returnerer det negative tal
hvis a1 hvis a1 == a2, returnerer den 0 Lad os forstå med Java String sammenligne til () eksempel. Eksempel 3: Produktion: Streng 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 + "\"");}}}