00:00
来看一下这个第一个图呢,说了调用connection的上方法,通过定制排序比较两个employee,然后呢,先按年龄比,年龄相同是吧,按姓名比啊,然后使用拉mada参数传递对吧,对吧?这行呢,过来看一下at test,然后public word test1对吧,然后control是不是要调用这个collections啊,是不U下的呀,还有个叫做short,那么两个排序,那定制排序指的是哪个呀?是下边这个comp接口啊,那上面这个什么排序,哎,是自然排序呀,对吧?那下边这个叫定制排序,那这个时候呢,需要一个集合,我把刚才那个集合copy过来可以吧,我的那个集合在这里,在这儿对吧,准确C,然后就放这吧,CTRLV,然后呢排序,那这时呢,这个叫EPSEP。
01:00
S,然后在这里我们说需要对comp接口是不是进行实现呢?对吧?那么comp接口中是不是有俩参数啊,比如一个E1,一个一二,那这时我传过去的是不是都是employee啊对吧?通过上下文推断啊,然后呢,这一次我们说先怎么比呢?先按年龄比,然后年龄相同是按姓名比啊这明显这不只是一条语句吧,那多条语句我们说拉么达箭头遭的风右边你得有有个大括号对吧?然后呢,在这里边你就可以指定了,说如果叫做1.getedge,注意啊,这个ecl现在是不是还有点不太智能,对于这个S8的支持啊,对吧,说如果一等于一二.get age的话,说如果年龄一样的话,那就怎么样呢?这是什么对吧?说如果年龄一样怎么办?比什么,那时候就比姓名啊,那就。
02:00
一点get name.compare two12.get name是不是年龄一样按姓名比啊else else,那是不是就按年龄比,按年龄比是不是就我们说年龄实际上做出减法是不是可以了呀?对吧?或者说是不是有叫counter啊,叫做1.get塔H,然后一二.get h速就搞定了对吧?那这样就排了,排完了之后我们说是不是对这个集合变利一下,看看排没排序啊对吧,那就是增强后循环一下对吧?Epc out下EP看看排没排右键。运行。八十八二十八三十八,五十八五十九对吧,做牌了说如果想倒个排呢,把它变成了减号啊对吧?右键是不是五十九三十八,二十八十八八呀,对吧,对吧,就用这个呢,试一下这个拉不达表达式对吧?拉布达表达式啊,当然有的时候说我们说写这么多条语句的拉么达呢,值啊,概率也不高啊对吧,通常应用的时候可能写的没有这么复杂,好了,那么这个呢,是拉么达,看下一个,下一个呢,他说上面一个函数式接口,接口中有个抽象方法对吧,叫做get塔返回子句,传数两离子句嘛,然后上面一个类叫特拉姆达类中编写方法,使用接口作为参数,将一个字算数转换成大写啊,并作为返回值,对吧?那么过来按照它的要求呢,我就写一个方法啊,那这个呢,写个接口吧,定的位置,比如说叫个MY什么,还上MY方什么可以吧,然后呢,他这个时候要它不是范。
03:42
的接口啊,对吧,因为都是固定的类型,String叫get value,然后传过来个字符串,是不是这样一个函数是接口,对吧,函数是接口,我们可以用at functional interface修饰一下,那么过来以后呢,我们过来就要试一试,对吧,然后接下来干嘛,我们说他要求我说明一个方法呀,方法是不是用于对一个字符串进行处理呢?对吧,对吧,说需求对吧,用于用于处理字符串的一个方法,那这样的话呢,处理了字符串是不返回一个字符串啊,就做什么样的处理,对吧,然后呢,比如说叫s drr handler吧,对吧,这DR handler是不是字符串处理啊处理,然后呢,处理哪个字符串你就要传过来,对吧,然后对这个字符串做什么样的处理,这个什么样的处理由谁指定的,哎,MY分谁指定的吧,MF对吧,然后你只需要指return叫mf.Y。
04:42
哦,对这个str进行处理,然后把处理好的那个字符串作为该方法的返回值是不是就可以了,对吧,就可以了,那么接下来那我们说就可以对这个指定的字符串做指定的处理了呀,对吧,那这是来个TEST2调用str handler,然后呢,比如说我要对什么处理呢?比如说碰壳空格空格杠T-T吧对吧,杠T-T-T对吧?然后来个我大上硅谷V5对吧,空空空空,我是不是要对这个字串来一个去除首尾空格对吧?那就是首先my function的实现嘛,要拉么DA对吧?那么my function参数有没有说有一个参数啊对吧,比如说str对吧,那么实现是不对,这个传进来的str我要做啊,去除首尾空格啊,那叫STL.tri就完事了对吧?那么这样的呢,S?
05:43
疫情结束以后会有个字符串对吧,对吧,比如说叫tri s t吧,然后拿到它以后呢,我就c out一下CHS点看看首尾空格去掉了没有执行。是不是有了呀啊,人家不是让我去除收位空格是吧?是让我转换成大写对吧?那么现在你是不是任意来呀,对吧,现在还是调用S加三对吧,让我转换成大写ABCDF,我要对这个字段转大写吧,只需要传过去str,然后我要对ST哪个下吗?说upper case是不是可以啊对吧,现在你想怎么指定就怎么指定吧,将拉姆达表达式对吧,像数据一样,是不是来回的传递呀,对不对,对吧,那右键运行数就是大写对吧?包括刚才他来说说你是不是来一个截取啊对吧,还是ST handler对吧,将截取截取就把这个截取一下吧,怎么截叫做,比如说S叫做str,是不是传过去啊对吧?然后对这个str来个叫做沙巴string,从第二个到。
06:58
第五个吧,0123402345吧,对吧,我来把上回五几个字截出来,可不可以可以吧,对吧,叫str,拿到它以后看看觉得对不对,New s t右键运行。
07:16
是不口定的对吧?我们发现你有了这个拉姆达表达式以后,将这个拉姆达表达式像所有的数据一样,是来回传递啊,指定你要处理的方式即可,能体会到一些好处吗?当然这个还还不够好,对吧?咱们后边会有更好的,慢慢的会更好了啊再来说,再说明一个带两个泛型的函数是接口,然后呢,泛型类型为T啊,T代表参数啊,代表返回值对吧?然后接口中声明对应的抽象方法,在test LA类中声明方法使用接口作为参数计算两个long型参数的和吧,对吧,是不是两个浪的和啊,再算两个long积对吧?那么这样的话呢,我再还得来一个对吧interface,比如说叫my box2吧,可以吧,然后呢,要求。
08:11
是不是要求有这个范径啊,一个T,一个是R,对吧?然后编写对应的方法啊,是不是返回值啊,比如说也叫get y6吧,然后呢,T是不是代表参数啊,但是注意我是不是要做两个浪的运算呢?对吧?两个浪的运算,那你是不是得有个T1和T2,是这意思吧,对吧,两个浪的运算啊,那么这样的话呢,我们回过来说,对于两个浪是处理啊,就对于两个long行对吧,数据进行处理的话,那么写一个方法对吧,对吧,就word吧,然后呢,比如说叫做预算。怎么写呢?就叫op吧,对吧,然后呢,对两个浪,那是不是一个L1啊,一个L2啊,做一个什么处理,叫my function2这样的处理吧,对吧?那注意参数是不是啊对吧,反馈值也是那对吧,然后来个MF可以吧,对吧?那这样的话呢,我就直接ch out一下得了MF点叫get y6对吧,把L1和L二传过来是吧,L1啊啊,这是L2啊对吧?至于你想对两个量做什么样的运算,你传什么样的运算,它是不是就给你做什么样的运算了,对吧?那这样的话呢,我们就可以调用一下它们这个o test3,当我调用这个op这个方法时,不是传两个浪呢,一百二百指定一个操作参数有几个X和Y类型,推断类型是不省略啊,做什么运算呢?比如说X。
09:54
再加Y行不行对吧?然后呢,这样的话他就给我打印输出了吧,右键运行是不是300呀,对吧,甚至还有什么操作呢,乘积对吧?那就op还是来个一百二百对吧,然后呢呢传X和Y,我要对X和Y做乘积的运算,右键运行是不是不是就乘积啊,那是不是方便了许多呀,对吧,方便许多要原来你要是想做类似于这样的运算,你是不是要写很多个方法对吧?一个方法是用运算和的,一个方法用算乘积的,对吧?而现在你就可以将你所需要的这个数据对吧,需要的这个LA姆表式像数据一样作为参数传递,当然现在大家应该体会到一个非常不好的地方就是啊,我用U达表达式,我还得先建个接口去支持拉姆达表达式,那时更。
10:54
干嘛呢,他弄啊对吧,那么实际上没有关系,人家脏了,是不是已经给我内置了我们常这个通常平时用的这些函数式接口啊,这些接口实际上不需要我们自己建,人家章法已经给我们提高好了,听懂吧,那么至于有哪些,咱们下午再说,同学们对吧。
我来说两句