How to sort a list of numeric strings in descending order with Java

1 Answer

0 votes
import java.util.Arrays;
import java.util.List;
import java.util.Comparator;
import java.util.Collections;
 
public class MyClass {
    static List<String> sort(List<String> list) {
        Comparator<String> compare = (val1, val2) -> {
            if (val1.length() == val2.length()) {
                return Integer.valueOf(val2) - Integer.valueOf(val1);
            }
            else {
                return val2.length() - val1.length();
            }
        };
         
        Collections.sort(list, compare);
         
        return list;
    }
    public static void main(String args[]) {
        List<String> l = Arrays.asList( "7", "0", "55", "8", "9", "6" );
 
        l = sort(l);
  
        for (String val : l) {
            System.out.print(val + " ");
        }
    }
}
 
 
 
 
/*
run:
 
55 9 8 7 6 0 
 
*/

 



answered Sep 3, 2022 by avibootz
...