帮忙解释下这段程序

keisunique 2017-02-21 01:20:16
public static boolean Find(int targe, Integer [][] array) {

Arrays.sort(array,new Comparator<Integer[]>() {
@Override
public int compare(Integer[] x, Integer[] y) {
if(x[0] < y[0]){
return -1;
} else if(x[0] > y[0]){
return 1;
} else {
return 0;
}
}
});

for (Integer[] arrays : array) {
System.out.println(Arrays.toString(arrays));
}

return true;
}
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryuugu_rena 2017-02-21
  • 打赏
  • 举报
回复
以匿名内部类的方式传入一个比较器,用于提供排序的规则。不提供就走sort的默认排序。
逗泥丸的平方 2017-02-21
  • 打赏
  • 举报
回复
Arrays.sort 你可以跟进去看看 方法链里面一直带着一个 Comparator 当然没有的时候是默认的,跟到最里面会看到有一个最后看>0和<0的地方,那里就是使用你实现的这个比较器的地方了. 你这里比较厉害,比较的是二维数组. 当然实际上只是定义一个比较方式的事情. 结果你的逻辑是,只比每个数组的第一个数字....
  • 打赏
  • 举报
回复
数组排序,传进去一个比较器,定义排序规则
keisunique 2017-02-21
  • 打赏
  • 举报
回复
Arrays.sort(array,new Comparator<Integer[]>() {
            @Override
            public int compare(Integer[] x, Integer[] y) {
                if(x[0] < y[0]){
                    return -1;
                } else if(x[0] > y[0]){
                    return 1;
                } else {
                    return 0;
                }
            }
        });
主要是这段,越详细越好。

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧