00:00
嗯,然后呢,我们看下这个叫定制排序,这个定制排序呢,跟咱们前面讲的那个comp呢就相关了,所以这个定制排序呢,哎是与咱们这个叫compar这个接口打交道,哎就跟它呢相关了,那我们举个例子。哎,这个TEST2一下,嗯,TEST2这个怎么写呢?哎,我们现在呢,还是声明成一个垂set等于new,我这块new的时候set new的是它CTRLL斜杠。刚才呢,咱们用的是一个空参的构造器,现在呢,有一个带参的参数呢,就叫做competor,哎,那现在我们就可以去传一个叫competor了,那没有没有前面的你就提供一个,哎,我们就写一个叫comp。这个跟咱们前面讲的又一样了,哎new一个哎comp,哎这么着,那么这里边呢,就是咱们前面讲过的这个,呃,这个定制排序的时候呢,你看你到底填的是什么数据,来填什么数据,你这里边呢,就拿谁去比。
01:14
哎,拿谁去比,比如说我们现在添的呢,还是user啊,哎,我还是想添加这些数据,哎添加完以后呢,我还是想接着做一个便利,哎,那我们这块呢,就接着拿着这个S呢,接着往里放就行。那么我们这往里放,嗯,你要是不加这个参数,我呢就会自动的去,哎,按照这个自然排序的方式来,但是你要是加上这个参数了,我就按照你这个参数的这种方式来了,相当于此时呢,就标准就变成这了。啊,那在这里边,呃,我们添加的仍然是这个用户,哎,咱们呢,就是按照指定啊,按照呢,比如说这个姓,嗯别姓名按照这个年龄从小到大排列。
02:00
那你要年龄一样的,年龄一样我就不要了。可能比较特殊的这样一个需求啊,年龄一样不要了,那这个我这写的年龄,那回头呢,咱们可以把它呢,比如理解成是一个ID。那ID呢,也是个整形,说ID一样的不要了,其实正常也不会存在一样了,那确实要一样的话呢,我就是不要啊,那这个年龄呢,其实可能体现一样了,不要了也可能不是特别好啊,但是以它为例呢,你当一个整形来处理就行啊,那这里边呢,我们还是先判断说OE,嗯,Instance of user,并且O2OF user,如果都是都强转。行,那强占完以后,我们呢,只想比一下年龄,哎,我就直接return in.compare u一点get一下它的au2.get一下A这样。
03:03
嗯,这就写完了,那这呢,我们只是考虑这个年龄啊,没考虑别的,那你这是嗯if都满足的情况,然后else呢,你就throw你有一个这样就行。呃,输入的啊数据啊,类型不匹配。这样。这样写的啊,那沿IG呢,就是如果我们这里边你再去放一个其他类型元素,它就抛这个异常了就成了啊行这呢咱们就写好了,写好以后呢,咱们是按照这个呃A排序的执行。哎,看一下确实如此。按照他排的,那如果呢,要出现一个年龄一样的。这个我们一个,比如这有什么名字这样写。
04:03
Mary,然后这个呢,行,就33岁啊,33岁,你说这时候呢,有谁没谁啊,是不是有Jack没有Mary了,那我要换一下顺序呢,对,就有Mary没有Jack了,那这个就是先来后道呗,那谁先站住了,那你后来这个呢,就进不去了。嗯,执行。哎,这个时候看33啊,这个marry呢,咱们放上边了啊,所以呢,就没有后边这个Jack了,嗯,那注意这时候咱们有参数啊,那有参数这个呢,我就按照参数里边的这种方式排了,虽然说我们当前的优色呢,也实现了叫自然排序啊,你要不写这个com,它就按照自然排序来写上了,它就按照你这个指定的这种定制的排序方式来了啊,那么通过刚才这个定制排序,咱们其实也有这样的一个说明。啊,这个写成一个四,在这个叫定制排序中。
05:01
哎,比较两个对象是否相等的标准为,哎,对,就是变成这个compare方法返回是零,不再是equals。啊,总结一下呢,就是我们在吹set当中,哎,它的比较标准呢,都变成是这两个更严格的了,不再是我们前面讲的equals了啊,那么咱们这个吹赛的话呢,大家作为一个了解就可以了啊,作一个了解就行,这里边这个重心呢,你要说这个有什么对以后开发呢,有帮助啊,有意义,其实还是咱们讲的自然排序和定人排序,咱们在常用类当中已经讲过了啊,在这呢,只是一个应用,让大家呢知道咱们初赛的里边呢,它的比较标准的变了,咱们前面讲的这个,呃,Set这种判断标准。啊,判断这个对象是否相同这个标准啊,这个呢只适用于咱们啊,典型的就是这个哈希set,而整个这个哈希set啊,或者说这个set咱们开发中整个set用的呢,其实也不多啊,也不多,所以整个这个set的话呢,相较于我们说的list来讲,这个呢难点,而这这个重要性就下降一档。
06:08
啊,整体上关于set呢,大家这块去啊理解一下就可以了啊,理解就行,不要在这块花太多时间啊,中心呢,你可以看看我们前面讲的这个list,以及呢,我们还没有讲的map啊。
我来说两句