Updated April 19, 2023
Introduction to Sort String Array in Java
Sorting is a very important feature in programming as it sets the different elements of an array in the required order. Generally, people use alphabetical order or increasing or decreasing orders. Sorting is generally done to convert a raw and unorganized form of data into proper and organized order for making it meaningful for the human brain. There are two methods for performing sorting string array. The first method is called custom sorting or user-defined logic sorting and the second method is called natural sorting or Array.sort() sorting. In this article both the methods are explained using multiple examples and their working. In this topic, we are going to learn about Sort String Array in Java.
Methods and Examples of Sorting String Array in Java
Here are the following examples and methods mentioned below
1. Using User-Defined Logic or custom sorting
Sorting can be done by comparing each and every element individually with the rest of the elements. In the first example, the same process is performed. There are two loops used, the repetitions while performing comparison is avoided by the inner loop. When the condition (favouritefood[a].compareTo(favouritefood[b])>0) results true than 0,now the program performs the swapping and array sorting is done. Similarly, all of the elements of the array are checked using the condition and the sorting is completed. In this example, the elements are sorted in an alphabetical order using user-defined logic or custom sorting.
Example #1
import java.util.Arrays;
public class Sortingexample1
{
public static void main(
String args[])
{
String[] favouritefood = {" Pizza \n "
, " Pasta \n "
, " Chole Bhature \n "
, " Paratha \n "
, " Chowmein \n "
, " Momo \n "
, " Fried Rice \n "
, " Maggie \n "
, " Garlic Bread \n "
, " Biryani \n "
, " Gulab Jamun \n "
};
System.out.print(" Rahul favourite foods are: \n " );
int length = favouritefood.length;
for(int a = 0
; a<length-1
; a++)
{
for (int b = a+1
; b<favouritefood.length
; b++)
{
if(favouritefood[a].compareTo(
favouritefood[b]
)>0)
{
String virtual = favouritefood[a];
favouritefood[a] = favouritefood[b];
favouritefood[b] = virtual;
}
}
}
System.out.println(
Arrays.toString(
favouritefood
));
}
}
Output:
Example #2
This example has been performed using three simple steps. Firstly, using loop we have to convert the input string into a character array. Now, Arrays.sort(array1, new Comparator<Character> () is used to sort the character array. Here the compare() method is used according to the behavior of the custom sorting. Now, use the StringBuilder to create a string from the character array.
import java.util.Arrays;
import java.util.Comparator;
public class Sortingexample2
{
public static String sortString(
String initialstringused
)
{
System.out.println(
" Mixed kinda character string used \n "
);
Character array1[] = new Character[
initialstringused.length()
];
for (int a = 0
; a < initialstringused.length()
; a++) {
array1[a] = initialstringused.charAt(a);
}
System.out.println(
" We use character string here \n "
);
Arrays.sort(
array1, new Comparator<Character>()
{
@Override
public int compare(Character FirstInput, Character SecondInput)
{
return Character.compare(Character.toUpperCase(FirstInput),
Character.toUpperCase(SecondInput));
}
});
StringBuilder b = new StringBuilder(array1.length);
for (
Character c
: array1
)
b.append(
c.charValue()
);
return b.toString();
}
public static void main(String[] args)
{
String initialstringused = " \n Biryani is loved by Rahul \n ";
String stringwegetinreturn = sortString(
initialstringused
);
System.out.println(
" Got an output as : \n " + stringwegetinreturn
);
System.out.println(
" \n Initial sentence entered was : \n " + initialstringused
);
}
}
Output:
2. Using Arrays.sort() or natural sorting
Natural sorting is done in three steps. Firstly, toCharArray() method is applied to the input string for creating a character array of the input string. Now, Arrays.sort(char c[]) method is used to sort the character array. Now string class constructor is used for creating a sorted string from the character array.
Example #1
import java.util.Arrays;
public class Sortingexample3
{
public static String sortString(
String initialstringused)
{
char sameArray[] = initialstringused.toCharArray();
System.out.println(
" Mixed kinda character string used \n "
);
Arrays.sort(
sameArray);
System.out.println(
" We use character string here \n "
);
return new String(sameArray);
}
public static void main(String[] args)
{
String initialstringused = " \n Choley Bhature is loved by Rahul \n ";
String stringwegetinreturn = sortString(
initialstringused
);
System.out.println(
"Input String : " + initialstringused
);
System.out.println("Output String : " + stringwegetinreturn
);
}
}
Output:
Example #2
import java.util.Arrays;
public class Sortingexample4
{
public static void main(String args[])
{
String[] favouritefood = {" \n Pizza \n "
, " \n Pasta \n "
, " \n Chole Bhature \n "
, " \n Paratha \n "
, " \n Chowmein \n "
, " \n Momo \n "
, " \n Fried Rice \n "
, " \n Maggie \n "
, " \n Garlic Bread \n "
, " \n Biryani \n "
, " \n Gulab Jamun \n "
};
System.out.print(" \n Actual food list entered: \n " );
System.out.println(Arrays.toString(favouritefood));
System.out.print(" \n Rahul favourite foods are: \n " );
Arrays.sort(favouritefood);
System.out.println(Arrays.toString(favouritefood));
}
}
Output:
Conclusion
On the basis of the above article, we understood the sort string array in Java. Sort String Array has two methods and both the methods are explained in the article using multiple examples. The examples will help the beginners in understanding the implementation of Sort String Array in a Java code to get the required results.
Recommended Articles
This is a guide to Sort String Array in Java. Here we discuss the Sorting String Array in Java using various methods, explained with examples. You may also have a look at the following articles to learn more –