做响应式网站兼容哪几个尺寸,做网站市场价,国外html5网站,电脑培训学校排名java自定义排序
自定义排序的理解#xff1a;
我们首先看需求#xff1a;一个二维数组
[[1,3],[8,10],[15,18],[2,6]]
我们的需求是根据集合#xff08;二维数组取出来的数据#xff09;
左边小的左边这种方式排序
例如18 排序方式就是[1,3],[8,10]
此时我们就需…java自定义排序
自定义排序的理解
我们首先看需求一个二维数组
[[1,3],[8,10],[15,18],[2,6]]
我们的需求是根据集合二维数组取出来的数据
左边小的左边这种方式排序
例如18 排序方式就是[1,3],[8,10]
此时我们就需要自定义排序
intervals{{1,3},{8,10},{15,18},{2,6}};Arrays.sort(intervals,new Comparatorint[](){public int compare(int[]s1,int []s2){return s1[0]-s2[0];}})这段代码这样理解 comparator是比较器 是一个接口
我们使用匿名内部类方法 new 一个比较器 这时候必须实现里面的方法 compare方法返回值是Int
我们需要比较的对象是数组 根据数组左边的元素大小来排序
这时候参数就是int[]s1,int[]s2
实现compare方法
如果s1比s2大 返回就是1 那么 s1就排在后面 我们需要记住备操作的永远是第一个传参进来的数
例如我们在compare里面写
public int compare(int[]s1,int []s2){return s2[0]-s1[0];}此时如果s1大于s2返回值是 负一 那么s1就会排在前面
这一点理解非常重要
如果不熟悉匿名内部类的同学
也可以自定义类实现Comparator接口的compare方法
然后传参给Arrays.sort的第二个参数
例如
class mycomparator implements Comparatorint[]
{
public int compare()
{
定义你要实现比较的方法;
}}Arrays.sort(需要排序的数据,new mycomparator());
//就可以啦还有一点就是多重数组可能给大家搞混 永远记住
[][] [][]这类【】【】的从外到内的数字 也是数组从外到内的过程。
例如
arr[1][0];//二位数组里面第二个数组的第一个数字