Metóda Java String compareTo (): Ako sa používa s príkladmi

Obsah:

Anonim

Čo je metóda porovnávania () v Jave?

compareTo () sa používa na lexikografické porovnanie dvoch reťazcov. Každý znak oboch reťazcov sa prevedie na hodnotu Unicode. Ak sú však obidva reťazce rovnaké, potom táto metóda vráti 0, inak bude mať za následok iba zápornú alebo kladnú hodnotu.

Metóda Java String compareTo () je definovaná v rozhraní java.lang.Comparable

Syntax: Ako napísať metódu compareTo () v Jave :

public int compareTo(String str)

Zadanie parametra:

str - Funkcia compareTo () v Jave prijíma iba jeden vstupný dátový typ String.

Metóda sa vracia:

Táto metóda Java porovnania () vracia dátový typ int, ktorý je založený na lexikografickom porovnaní medzi dvoma reťazcami.

  • vráti <0, potom je reťazec volajúci metódu najskôr lexikograficky
  • returns == 0, potom sú dva reťazce lexikograficky ekvivalentné
  • vráti> 0, potom je parameter odovzdaný metóde Java compareTo () najskôr lexikograficky.

Metóda Java String compareTo () Príklad:

Príklad 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"));}}

Výkon

Porovnať s 'a' b je: -1

Porovnať s 'b' a je: 1 Porovnať s 'b' a je: 0

Tu,

  • Znak a prichádza pred b abecedne. Preto je výstup -1
  • Znak b prichádza podľa abecedy. Preto je výstup 1
  • Znak b je ekvivalentný, a preto je výstup 0.

Môžete použiť metódu Use "compareToIgnoreCase" v prípade, že nechcete, aby výsledok rozlišoval veľké a malé písmená. Poďme si porozumieť s príkladom Java compareTo ().

Príklad 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"));}}

Výkon

Porovnať s „ROCKSTAR“: -32 Porovnať s „ROCKSTAR“ - Ignorované puzdro: 0

Kedy použiť metódu compareTo () v Jave?

Na vykonávanie prirodzeného triedenia na reťazci sa používa metóda Java String compareTo (). Prirodzené triedenie znamená poradie triedenia, ktoré sa uplatňuje na objekt, napr. Lexikálne poradie pre String, číselné poradie pre triedenie celých čísel atď.

Lexikálne poradie nie je nič iné ako abecedné poradie. Metóda compareTo () Java robí sekvenčné porovnanie písmen v reťazci, ktoré majú rovnakú pozíciu.

Ak je v tejto metóde prvý reťazec vždy lexikograficky vyšší ako druhý reťazec, vráti kladné číslo.

ak a1> a2, vráti záporné číslo

ak a1

ak a1 == a2, vráti 0

Poďme si porozumieť s príkladom Java String compareTo ().

Príklad 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 + "\"");}}}

Výkon:

Reťazec 1: Guru1

2. reťazec: Guru2 „Guru1“ je lexikograficky vyšší ako „Guru2“