我想按下降它的第三列对String数组后代进行排序,问题是我想按它的数值排序.
例:
如果我最初有这个数组:
String [][] array = new String[][] {
{"Barcelona", "156", "1604"},
{"Girona", "256", "97"},
{"Tarragona", "91", "132"},
{"Saragossa", "140", "666"}
}
Run Code Online (Sandbox Code Playgroud)
我希望它成为这个:
{
{"Barcelona", "156", "1604"},
{"Saragossa", "140", "666"},
{"Tarragona", "91", "132"},
{"Girona", "256", "97"}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
按asc排序:
Arrays.sort(array, Comparator.comparingInt(a -> Integer.valueOf(a[2])));
Run Code Online (Sandbox Code Playgroud)
按desc排序:
Arrays.sort(array, Comparator.comparingInt(a -> Integer.valueOf(a[2])*-1));
// or this
Arrays.sort(array, Comparator.comparingInt((String[] a) -> Integer.valueOf(a[2])).reversed());
Run Code Online (Sandbox Code Playgroud)