我想按下降它的第三列对String数组后代进行排序,问题是我想按它的数值排序.
例:
如果我最初有这个数组:
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"} }
我怎样才能做到这一点?
按asc排序:
Arrays.sort(array, Comparator.comparingInt(a -> Integer.valueOf(a[2])));
按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());