二维数组中的比较器如何根据Java中的返回值设置升序和降序

问题描述 投票:0回答:1

我正在用Java练习leetcode问题,在其中一种解决方案中,我发现用户发布了一个代码,在该代码中,使用比较器对Array进行排序。我在参考网站上做了一小段比较器,我知道它用于设置排序顺序(升序或降序)。然后,我打开IDE进行练习,因此编写了特定的代码。但是在编码时,我却想了一下,它正在重现-1 0&1。所以我怎么知道它会在降序或升序发送。

最重要的是,比较器如何在后续输入上工作。

 int ar [][]= {{7,0}, {4,4}, {7,1}, {5,0}, {6,1}, {5,2}};
 Arrays.sort(ar,(a,b)-> a[0]>b[0]?1:-1);

    System.out.println(Arrays.deepToString(ar));

我是编程新手,请在上面的示例中详细说明排序过程。

java collections comparator
1个回答
0
投票

比较器接口用于对用户定义类的对象进行排序。比较器对象能够比较两个不同类的两个对象。以下函数将obj1与obj2比较

语法:

public int compare(Object obj1, Object obj2):

它的取回值指示其他对象是否相等,而更多则等于您的对象。

0 - if they are equal;
1 - if your object is greater;
-1 - if your object is lesser.

针对您的情况

a[0]>b[0]?1:-1

您只是比较每个子数组的0索引。

© www.soinside.com 2019 - 2024. All rights reserved.