我想按下降的第三列对字符串数组的后代进行排序,问题是我想按它的数值进行排序。
示例:
如果我最初有这个数组:
String [][] array = new String[][] {
{"Barcelona", "156", "1604"},
{"Girona", "256", "97"},
{"Tarragona", "91", "132"},
{"Saragossa", "140", "666"}
}
我希望它变成这样:
{
{"Barcelona", "156", "1604"},
{"Saragossa", "140", "666"},
{"Tarragona", "91", "132"},
{"Girona", "256", "97"}
}
我怎样才能做到这一点?
最佳答案
按升序排序:
Arrays.sort(array, Comparator.comparingInt(a -> Integer.valueOf(a[2])));
按描述排序:
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());
关于Java 按第三个元素对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41601156/