Co je metoda CompareTo () v Javě?
compareTo () se používá k lexikografickému porovnání dvou řetězců. Každý znak obou řetězců je převeden na hodnotu Unicode. Pokud jsou však oba řetězce stejné, pak tato metoda vrátí 0, jinak bude mít za následek pouze zápornou nebo kladnou hodnotu.
Metoda Java String compareTo () je definována v rozhraní java.lang.Comparable
Syntaxe: Jak napsat metodu compareTo () v Javě :
public int compareTo(String str)
Zadání parametru:
str - Funkce compareTo () v Javě přijímá pouze jeden vstupní datový typ String.
Metoda se vrací:
Tato metoda Java pro srovnání () vrací datový typ int, který je založen na lexikografickém srovnání mezi dvěma řetězci.
- vrátí <0, pak je String volající metodu nejprve lexikograficky
- returns == 0 then the two strings are lexicographically equivalent
- vrátí> 0, pak je parametr předaný metodě Java compareTo () nejprve lexikograficky.
Metoda Java String compareTo () Příklad:
Pří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ýstup
Porovnat s 'a' b je: -1
Porovnat s 'b' a je: 1 Porovnat s 'b' a je: 0Tady,
- Znak předchází abecedně. Proto je výstup -1
- Znak b následuje po abecedě. Proto je výstup 1
- Znak b jsou ekvivalentní, proto je výstup 0.
Můžete použít metodu Use "compareToIgnoreCase" v případě, že nechcete, aby výsledek rozlišoval velká a malá písmena. Rozumíme tomu v příkladu Java compareTo ().
Pří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ýstup
Porovnat s 'ROCKSTAR': -32 Porovnat s 'ROCKSTAR' - Ignorováno případ: 0
Kdy použít metodu compareTo () v Javě?
Metoda Java String compareTo () se používá k provedení přirozeného třídění na řetězci. Přirozeným tříděním se rozumí pořadí řazení, které se na objekt vztahuje, např. Lexikální pořadí pro řetězec, číselné pořadí pro řazení celých čísel atd.
Lexikální řád není nic jiného než abecední pořadí. Metoda Java porovnat () provede sekvenční porovnání písmen v řetězci, která mají stejnou pozici.
Pokud je v této metodě první řetězec vždy lexikograficky vyšší než druhý řetězec, vrátí kladné číslo.
pokud a1> a2, vrátí záporné číslo
pokud a1 pokud a1 == a2, vrátí 0 Rozumíme tomu v příkladu Java String compareTo (). Příklad 3: Výstup: Řetězec 1: Guru1public 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 + "\"");}}}