import java.util.Arrays;
import java.util.List;
public class SortByNumber {
public static void main(String[] args) {
List<String> lst = Arrays.asList(
"Python 4", "C 9", "C++ 5", "C# 6",
"Java 1", "PHP 7", "Go 2"
);
lst.sort((a, b) -> {
int numA = extractNumber(a);
int numB = extractNumber(b);
return Integer.compare(numA, numB);
});
lst.forEach(System.out::println);
}
private static int extractNumber(String s) {
int pos = s.lastIndexOf(' ');
return Integer.parseInt(s.substring(pos + 1));
}
}
/*
run:
Java 1
Go 2
Python 4
C++ 5
C# 6
PHP 7
C 9
*/