Java String compareTo () Metodă: Cum se utilizează cu exemple

Cuprins:

Anonim

Ce este metoda compareTo () în Java?

compareTo () este utilizat pentru compararea lexicografică a două șiruri. Fiecare caracter al ambelor șiruri este convertit într-o valoare Unicode. Cu toate acestea, dacă ambele șiruri sunt egale, atunci această metodă returnează 0 altceva, rezultând doar valoare negativă sau pozitivă.

Metoda Java String compareTo () este definită în interfața java.lang.Comparable

Sintaxă: Cum se scrie o metodă compareTo () în Java :

public int compareTo(String str)

Intrare parametru:

str - Funcția compareTo () din Java acceptă un singur tip de date de șir de intrare.

Returnează metoda:

Această metodă compareTo () Java returnează un tip de date int care se bazează pe comparația lexicografică între două șiruri.

  • returnează <0 apoi Stringul care apelează metoda este lexicografic mai întâi
  • returnează == 0 atunci cele două șiruri sunt echivalente lexicografic
  • returnează> 0 apoi parametrul trecut la metoda Java compareTo () este lexicografic mai întâi.

Metoda Java String compareTo () Exemplu:

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

Ieșire

Comparați cu „a” b este: -1

Comparați cu „b” a este: 1 Comparați cu „b” b este: 0

Aici,

  • Caracterul a vine înaintea lui b alfabetic. Prin urmare, ieșirea este -1
  • Caracterul b vine după a alfabetic. Prin urmare, ieșirea este 1
  • Caracterul b este echivalent, deci ieșirea este 0.

Puteți utiliza metoda Utilizați „compareToIgnoreCase” în cazul în care nu doriți ca rezultatul să fie sensibil la majuscule. Să înțelegem cu un exemplu Java compareTo ().

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

Ieșire

Comparați cu „ROCKSTAR”: -32 Comparați cu „ROCKSTAR” - Caz ignorat: 0

Când se folosește metoda compareTo () în Java?

Metoda Java String compareTo () este utilizată pentru a efectua sortarea naturală pe șir. Sortarea naturală înseamnă ordinea de sortare care se aplică obiectului, de exemplu, ordinea lexicală pentru Șir, ordinea numerică pentru Sortarea numerelor întregi etc.

Ordinea lexicală nu este altceva decât o ordine alfabetică. compareTo () Metoda Java face o comparație secvențială a literelor din șir care au aceeași poziție.

În această metodă, dacă primul șir este întotdeauna lexicografic mai mare decât al doilea șir, acesta returnează un număr pozitiv.

dacă a1> a2, returnează numărul negativ

dacă a1

dacă a1 == a2, returnează 0

Să înțelegem cu Java String compareTo () Exemplu.

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

Ieșire:

Șirul 1: Guru1

Șirul 2: Guru2 „Guru1” este lexicografic mai mare decât „Guru2”