Hello Friends,
I would like to welcome you to my blog.
This is the tutorial for all my java followers. We all must be familiar with arrays and sorting arrays.
Here is a small but very useful tip that every Java programmer should be aware of. Have you ever tried sorting arrays in Java? Well, java.util.Arrays
class has built in method to make your job easy. You can use following method to sort any array in Java.
1 2 3 4 5 6 7 8 9 10 |
... import java.util.Arrays; ... Arrays.sort (int []) Arrays.sort (String []) Arrays.sort (float []) Arrays.sort (double []) Arrays.sort (long []) Arrays.sort (Object []) ... |
Let us check an example were we will sort an array of String in ascending as well as descending order. Here is a string array we defined in Java.
1 2 3 4 5 6 |
String [] stringArray = {"ab", "aB", "c", "0", "2", "1Ad", "a10"}; System.out.println("****** Unsorted String Array *******"); for (String str : stringArray) { System.out.println(str); } |
Output:
1 2 3 4 5 6 7 8 |
****** unsorted string ******* ab aB c 0 2 1Ad a10 |
In above code we simple define an array of String and printed its value. Now lets sort this array in ascending order using Arrays.sort()
method.
Sort in Ascending Order
1 2 3 4 5 6 7 |
//Sort array in ascending order Arrays.sort(stringArray); System.out.println("****** Sorted String Array *******"); for (String str : stringArray) { System.out.println(str); } |
Output:
1 2 3 4 5 6 7 8 |
****** Sorted String Array ******* 0 1Ad 2 a10 aB ab c |
Note that we just sorted an array of String in ascending order using sort method. Wasn’t it easy..
Sort in Descending Order
Now lets try to sort the array in reverse order. For this we will use a different signature of sort method.
1 |
Arrays.sort (Object [], Comparator) |
Following is the code to sort array in reverse order.
1 2 3 4 5 6 7 |
//Sort array in reverse order Arrays.sort(stringArray, Collections.reverseOrder()); System.out.println("****** Reverse Sorted String Array *******"); for (String str : stringArray) { System.out.println(str); } |
Output:
1 2 3 4 5 6 7 8 |
****** Reverse Sorted String Array ******* c ab aB a10 2 1Ad 0 |
Selective Sorting
Using Arrays.sort() method it is possible to sort an array selectively. i.e. if you want a subpart of array to be sorted, that is possible using following method.
1 |
Arrays.sort (Object [], int startIndex, int endIndex) |
In following code we are sorting the array starting from index 3 till the end.
1 2 3 4 5 6 7 |
//Sorting array starting from index 3 till 6 Arrays.sort(stringArray, 3, 6); System.out.println("****** Selective Sort String Array *******"); for (String str : stringArray) { System.out.println(str); } |
Output:
1 2 3 4 5 6 7 8 |
****** Selective Sort String Array ******* ab aB c 0 1Ad 2 a10 |
Hope this will help you.
Thanks and regards,
Nikhil Naoghare.
thanks dud……………
well written blog. Im glad that I could find more info on this. thanks
found your site on del.icio.us today and really liked it.. i bookmarked it and will be back to check it out some more later
Thanks nikhil.
It’s a good exmpl.
🙂