首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >二维数组中的比较器如何根据java中的返回值设置升序和降序

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

Stack Overflow用户
提问于 2020-06-07 15:29:34
回答 1查看 23关注 0票数 0

我在java中练习了一个leetcode问题,在其中一个解决方案中,我发现一个用户发布了一个代码,其中数组是根据使用比较器进行排序的。我在参考网站上做了一个比较的小Rnd,我知道它是用来设置排序顺序(升序或降序)的。然后我打开IDE进行同样的练习,所以我编写了特定的代码。但是在编码的时候,我突然意识到它是-10& 1,那么我怎么知道它是以下降还是上升的方式发送的呢?

最重要的是比较器是如何处理以下输入的。

代码语言:javascript
代码运行次数:0
运行
复制
 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));

各位,我是编程新手,请深入讲解上面例子中的排序过程。

EN

回答 1

Stack Overflow用户

发布于 2020-06-07 15:36:27

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

语法:

代码语言:javascript
代码运行次数:0
运行
复制
public int compare(Object obj1, Object obj2):

返回值表示其他对象是否与您对象相等,或多或少。

代码语言:javascript
代码运行次数:0
运行
复制
0 - if they are equal;
1 - if your object is greater;
-1 - if your object is lesser.

对于你的案例

代码语言:javascript
代码运行次数:0
运行
复制
a[0]>b[0]?1:-1

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62242176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档