Java String CompareTo () Methode: hoe te gebruiken met voorbeelden

Inhoudsopgave:

Anonim

Wat is de methode CompareTo () in Java?

CompareTo () wordt gebruikt om twee strings lexicografisch te vergelijken. Elk teken van beide strings wordt omgezet in een Unicode-waarde. Als beide strings echter gelijk zijn, retourneert deze methode 0, anders resulteert het alleen in een negatieve of positieve waarde.

De methode Java String CompareTo () is gedefinieerd in interface java.lang.Comparable

Syntaxis: Hoe schrijf je een methode CompareTo () in Java :

public int compareTo(String str)

Parameter invoer:

str - De functie CompareTo () in Java accepteert slechts één invoertype String.

Methode retourneert:

Deze methode CompareTo () Java retourneert een int datatype dat is gebaseerd op de lexicografische vergelijking tussen twee strings.

  • geeft <0 terug, dan is de String die de methode aanroept eerst lexicografisch
  • geeft == 0 terug, dan zijn de twee strings lexicografisch equivalent
  • geeft> 0 terug, dan wordt de parameter die aan de Java-methode CompareTo () wordt doorgegeven, lexicografisch eerst.

Java String CompareTo () -methode Voorbeeld:

Voorbeeld 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"));}}

Uitvoer

Vergelijken met 'a' b is: -1

Vergelijken met 'b' a is: 1 Vergelijken met 'b' b is: 0

Hier,

  • Teken a komt alfabetisch voor b. De output is dus -1
  • Teken b komt alfabetisch na een. Daarom is de output 1
  • Teken b zijn equivalent, dus de uitvoer is 0.

U kunt de methode Use "CompareToIgnoreCase" gebruiken als u niet wilt dat het resultaat hoofdlettergevoelig is. Laten we het begrijpen met een Java CompareTo () -voorbeeld.

Voorbeeld 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"));}}

Uitvoer

Vergelijk met 'ROCKSTAR': -32 Vergelijk met 'ROCKSTAR' - Geval genegeerd: 0

Wanneer de methode CompareTo () in Java gebruiken?

De methode Java String CompareTo () wordt gebruikt om een ​​natuurlijke sortering op string uit te voeren. Natuurlijk sorteren betekent de sorteervolgorde die van toepassing is op het object, bijvoorbeeld lexicale volgorde voor tekenreeks, numerieke volgorde voor het sorteren van gehele getallen, enz.

Lexicale volgorde is niets anders dan alfabetische volgorde. vergelijkTo () De Java-methode vergelijkt opeenvolgende letters in de tekenreeks die dezelfde positie hebben.

Als bij deze methode de eerste string altijd lexicografisch hoger is dan de tweede string, wordt een positief getal geretourneerd.

als a1> a2, geeft het een negatief getal terug

als a1

als a1 == a2, retourneert het 0

Laten we het begrijpen met Java String CompareTo () Example.

Voorbeeld 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 + "\"");}}}

Uitgang:

String 1: Guru1

String 2: Guru2 "Guru1" is lexicografisch hoger dan "Guru2"