Méthode Java String compareTo (): comment utiliser avec des exemples

Table des matières:

Anonim

Qu'est-ce que la méthode compareTo () en Java?

compareTo () est utilisé pour comparer deux chaînes lexicographiquement. Chaque caractère des deux chaînes est converti en une valeur Unicode. Cependant, si les deux chaînes sont égales, cette méthode renvoie 0 sinon elle ne donne qu'une valeur négative ou positive.

La méthode Java String compareTo () est définie dans l'interface java.lang.Comparable

Syntaxe: Comment écrire une méthode compareTo () en Java :

public int compareTo(String str)

Entrée de paramètre:

str - La fonction compareTo () en Java n'accepte qu'un seul type de données String d'entrée.

Retourne la méthode:

Cette méthode Java compareTo () renvoie un type de données int basé sur la comparaison lexicographique entre deux chaînes.

  • renvoie <0 alors la chaîne appelant la méthode est d'abord lexicographiquement
  • renvoie == 0 alors les deux chaînes sont lexicographiquement équivalentes
  • renvoie> 0 puis le paramètre passé à la méthode Java compareTo () est lexicographiquement en premier.

Méthode Java String compareTo () Exemple:

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

Production

Comparer à 'a' b est: -1

Comparer à 'b' a est: 1 Comparer à 'b' b est: 0

Ici,

  • Le caractère a vient avant b par ordre alphabétique. Par conséquent, la sortie est -1
  • Le caractère b vient après un par ordre alphabétique. Par conséquent, la sortie est 1
  • Le caractère b est équivalent, donc la sortie est 0.

Vous pouvez utiliser la méthode Use "compareToIgnoreCase" au cas où vous ne voudriez pas que le résultat soit sensible à la casse. Comprenons avec un exemple Java compareTo ().

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

Production

Comparer avec 'ROCKSTAR': -32 Comparer avec 'ROCKSTAR' - Cas ignoré: 0

Quand utiliser la méthode compareTo () en Java?

La méthode Java String compareTo () est utilisée pour effectuer un tri naturel sur une chaîne. Le tri naturel signifie l'ordre de tri qui s'applique à l'objet, par exemple, l'ordre lexical pour String, l'ordre numérique pour les entiers de tri, etc.

L'ordre lexical n'est rien d'autre que l'ordre alphabétique. compareTo () La méthode Java effectue une comparaison séquentielle des lettres de la chaîne qui ont la même position.

Dans cette méthode, si la première chaîne est toujours lexicographiquement supérieure à la seconde chaîne, elle renvoie un nombre positif.

si a1> a2, il renvoie un nombre négatif

si a1

si a1 == a2, il renvoie 0

Comprenons avec l'exemple de chaîne Java compareTo ().

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

Production:

Chaîne 1: Guru1

Chaîne 2: Guru2 "Guru1" est lexicographiquement plus élevé que "Guru2"