w3resource

Java String Exercises: Sort in ascending and descending order by length of the given array of strings

Java String: Exercise-104 with Solution

Write a Java program to sort in ascending and descending order by length of the given array of strings.

Sample Solution:

Java Code:

import java.util.Arrays;
public class Main {    
   private static String[] strs = {"Green", "White", "Black", "Pink", "Orange", "Blue", "Champagne", "Indigo", "Ivory"};
    
    public enum sort_asc_dsc{
       ASC, DESC
   }
    
    public static void main(String[] args) {
       System.out.println("\nOriginal unsorted colors: " + Arrays.toString(strs));
        sort_array_by_length(strs, sort_asc_dsc.DESC);
       System.out.println("\nSorted color (descending order): " + Arrays.toString(strs));
       sort_array_by_length(strs, sort_asc_dsc.ASC);
       System.out.println("\nSorted color (ascending order): " + Arrays.toString(strs));            
   }
   public static void sort_array_by_length(String[] strs, sort_asc_dsc direction) {
       if (strs == null || direction == null || strs.length == 0) {
           return;
       }
       if (direction.equals(sort_asc_dsc.ASC)) {
           Arrays.sort(strs, (String str1, String str2)
                   -> Integer.compare(str1.length(), str2.length()));
       } else if (direction.equals(sort_asc_dsc.DESC)) {
           Arrays.sort(strs, (String str1, String str2)
                   -> (-1) * Integer.compare(str1.length(), str2.length()));
       }
   }
}

Sample Output:

Original unsorted colors: [Green, White, Black, Pink, Orange, Blue, Champagne, Indigo, Ivory]

Sorted color (descending order): [Champagne, Orange, Indigo, Green, White, Black, Ivory, Pink, Blue]

Sorted color (ascending order): [Pink, Blue, Green, White, Black, Ivory, Orange, Indigo, Champagne]

Pictorial Presentation:

Java String Exercises: Sort in ascending and descending order by length of the given array of strings

Flowchart:

Flowchart: Java String Exercises - Sort in ascending and descending order by length of the given array of strings

Java Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Write a Java program to remove a specified character from a given string.
Next: Write a Java program to count the occurrences of a given string in another given string.

What is the difficulty level of this exercise?



Java: Tips of the Day

Count the number of occurrences of a char in a String:

int count = StringUtils.countMatches("a.b.c.d", ".");

Ref: https://bit.ly/2OTy6sG