In this article, we will discuss how we can compare two strings lexicographically in Java.
One solution is to use Java compareTo() method. The method compareTo() is used for comparing two strings lexicographically in Java. Each character of both the strings is converted into a Unicode value for comparison.
int compareTo(String str) :
It returns the following values:
- if (string1 > string2) it returns a positive value.
- if both the strings are equal lexicographically
i.e.(string1 == string2) it returns 0.
- if (string1 < string2) it returns a negative value.
Comparing strings with compareTo: 0 -1 17
Refer How to Initialize and Compare Strings in Java? for more details.
How to compare two strings without using library function?
1. Input two strings string 1 and string 2. 2. for (int i = 0; i < str1.length() && i < str2.length(); i ++) (Loop through each character of both strings comparing them until one of the string terminates): a. If unicode value of both the characters is same then continue; b. If unicode value of character of string 1 and unicode value of string 2 is different then return (str1[i]-str2[i]) 3. if length of string 1 is less than string2 return str2[str1.length()] else return str1[str2.length()]
Below is the implementation of the above algorithm.
-9 0 9 -8 8
This article is contributed by Ankit Jain . If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Compare two Strings in Java
- How to Initialize and Compare Strings in Java?
- Count of same length Strings that exists lexicographically in between two given Strings
- Compare two strings considering only alphanumeric characters
- C++ program to compare two Strings using Operator Overloading
- Lexicographically smallest string which differs from given strings at exactly K indices
- Number of ways to divide string in sub-strings such to make them in lexicographically increasing sequence
- How to compare two arrays in Java?
- Compare Dates in Java
- Java Integer compare() method
- RuleBasedCollator compare() method in Java with Example
- Short compare() method in Java
- How compare() method works in Java
- Byte compare() method in Java with examples
- Double compare() Method in Java with Examples
- Float compare() Method in Java with Examples
- Java | ==, equals(), compareTo(), equalsIgnoreCase() and compare()
- Boolean compare() method in Java with Examples
- Java Guava | Booleans.compare() method with Examples
- Java Guava | Doubles.compare() method with Examples