How to sort a list of numeric strings in ascending 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(val1) - Integer.valueOf(val2);
            }
            else {
                return val1.length() - val2.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:

0 6 7 8 9 55 

*/

 



answered Sep 2, 2022 by avibootz

Related questions

...