java - java中二维数组的排序和反转

标签 java sorting multidimensional-array

如何根据第二列中的整数对整数数组进行排序和反转? 示例输入--{{1,2},{1,1},{1,3},{1,1},{1,4}} 输出--{{1,4},{1,3},{1,2},{1,1},{1,1}} 任何人都可以指出我的代码中的错误,它给出了编译错误。

import java.util.*;
class twod_sort implements Comparator{
public static void main(String []args){
int a[][]={{1,2},{1,1},{1,3},{1,1},{1,4}};
Arrays.sort(numbers, new Comparator<int[]>(){
    public int compare(Integer[] o1, Integer[] o2) {
        return o1[1].compareTo(o2[1]);
    }
});

}
}

最佳答案

DominicEU 的答案做得很好,但可以利用 Java 8 lambda 语法以更短的方式写下来:

Arrays.sort(input, (v1, v2) -> Integer.compare(v2[1], v1[1]));

这将以相反的顺序对输入数组进行排序,而不是仅以相反的顺序将其打印到控制台(请注意 Integer.compare 函数中交换的 v1 和 v2)。

关于java - java中二维数组的排序和反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383389/

相关文章:

Ubuntu 中的 JAVA_HOME

java - OSGI - 将实体拆分为多个包

python-3.x - 按索引自然排序 Pandas 数据帧

php - 最近的、有趣的和新的/未答复的帖子的平衡组合

java - 对字符串数组进行排序会出现 NullPointerException

multidimensional-array - 如何过滤掉 ndarray 中的特定列?

java - 消费者应用程序中的 JMS ConnectionFactory NullPointerException

java - 在 Java 中连接多维数组的最佳方法是什么?

java - 为什么我的 if-else 分支的其余部分没有执行?

java - 如何让 Jlist 在添加新元素后自动向下滚动