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
*/