数组如何.对多维数组进行排序



我一直在网上寻找,试图找出如何按列排序多维数组,我找到了一种有效的方法,但我不确定它是如何工作的。有人能给我解释一下吗?

Arrays.sort(data, (int[] num1, int[] num2) ->
    Integer number1 = num1[1];
    Integer number2 = num2[1];
    return number2.compareTo(number1);
});

在这里,代码将数组[][]按第二列降序排序。

二维数组是其元素为数组(在您的示例中为int[])的数组。因此,为了对这样一个数组进行排序,您应该提供一个比较int[]对象的比较器。这正是代码片段中的lambda表达式所做的工作。它接受两个int[]对象,并通过比较两个数组的第二个位置(即索引1)上的元素来确定它们的相对顺序。

lambda表达式是Java 8中添加的一个特性。它允许您为函数接口提供实现(它是具有单个方法的接口,例如Comparator<int[]>,其单个方法是int compare (int[] first, int[] second)),而无需匿名类实例所需的大多数语法。

相关内容

  • 没有找到相关文章

最新更新