Hva er CompareTo () -metoden i Java?
CompareTo () brukes til å sammenligne to strenger leksikografisk. Hvert tegn i begge strengene blir konvertert til en Unicode-verdi. Men hvis begge strengene er like, returnerer denne metoden 0 ellers, det resulterer bare i negativ eller positiv verdi.
Java String CompareTo () -metoden er definert i grensesnittet java.lang.Comparable
Syntaks: Slik skriver du en comparTo () -metode i Java :
public int compareTo(String str)
Parameterinngang:
str - Funksjonen CompareTo () i Java godtar bare én datatype for inngangsstreng.
Metoden returnerer:
Denne comparTo () Java-metoden returnerer en int-datatype som er basert på den leksikografiske sammenligningen mellom to strenger.
- returnerer <0 så er strengen som kaller metoden leksikografisk først
- returnerer == 0 så er de to strengene leksikografisk ekvivalente
- returnerer> 0, så blir parameteren som sendes til Java CompareTo () -metoden leksikografisk først.
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"));}}
Produksjon
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 produksjonen -1
- Tegn b kommer etter alfabetisk. Derfor er produksjonen 1
- Tegn b er ekvivalente, og dermed er utdata 0.
Du kan bruke metoden Bruk "CompareToIgnoreCase" i tilfelle du ikke vil at resultatet skal skille mellom store og små bokstaver. La oss 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"));}}
Produksjon
Sammenlign med 'ROCKSTAR': -32 Sammenlign med 'ROCKSTAR' - sak ignorert: 0
Når skal du bruke comparTo () -metoden i Java?
Java String CompareTo () -metoden brukes til å utføre naturlig sortering på streng. Naturlig sortering betyr sorteringsrekkefølgen som gjelder på objektet, for eksempel leksikalsk rekkefølge for streng, numerisk rekkefølge for sortering av heltall osv.
Leksikal orden er ikke annet enn alfabetisk orden. CompareTo () Java-metoden gjør en sekvensiell sammenligning av bokstaver i strengen som har samme posisjon.
I denne metoden, hvis den første strengen alltid er leksikografisk høyere enn den andre strengen, returnerer den et positivt tall.
hvis a1> a2, returnerer det negativt tall
hvis a1
hvis a1 == a2, returnerer den 0
La oss forstå med Java String CompareTo () Eksempel.
Eksempel 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 + "\"");}}}
Produksjon:
String 1: Guru1
String 2: Guru2 "Guru1" er leksikografisk høyere enn "Guru2"