00:00
下一个呢,要跟大家聊的是这个东西叫做for表达适中的模式,现在相当于把这个模式呢又又增强一下,那么for循环中也可以进行这个模式匹配,模式匹配大家看这里我有个map。这,这是map,大家一看就知道了,那如果说我们将来想提取出它的k value呢?你看这地方特简单,就是这样写的。我这有个map对吧,然后呢,我要每次循环或者遍利的时候,直接把它K和value放到这完事,还有一种形式特别牛,这种负循环还可以干什么呢?诶假如我们对这个麦便利的时候,我想进行一个筛选。我想筛选什么呢?我要筛选出的值为零的,其他的我不要看一下就出来了,就说你看假如我们要进行筛选,我这写的一个K,这后面写的一个固定的值,注意这个表示什么意思呢?这个就表示我在进行这个脉补变量的时候,只将。
01:02
值为零的给我遍历出来,其他的直接过滤掉,这就显得特别简单,特别简单,注意啊,他这个不是不是有些同学说说的,诶说老师好像是把这个map的K取出来,值默认给个零,这是不对的,这个其实起到了一个过滤的作用。那这个地方坦白的讲,这样就会得到一个就是B和零,真的达到B0没有了。好,下面这个也是一种写法,下面这个写法呢,跟上面有点等价。啊,一些等价看什么,我使用了for循环里面的一个叫做首位啊,这个呢,前面是讲过的,咱们讲过的啊,就说我在进行这个map变利的时候,我只有一个情况下才进入到这个print,什么情况呢?就是你在便利出来这个V刚好等于零。为真我才去执行,那相当于说我在整个过程中得到的这个KV呢,只能也是值为零的,所以注意可以灵活的使用这个语法呢,大家也要有一个认识啊,就以后看到别人这种方式写,不要觉得好奇怪,所以说开的语法呢,就是一个字灵活。
02:05
它尽量的让我们感觉到这个写起来很高效,很简洁,这种语法现象在很多语言里是没有的,Java里面反正我是没看到啊,这里没看到,像其他的语言里面也很少看这么简洁高效的代码。所以它的语法就比较综合嘛,好,这个呢,我们就把它拿过来运行一下就行了,这没有什么理解的东西,就是迹象啊,没办法。语法肯定就是记了好match我们的for啊,Match我们的for的一个DEMOOK。给同学们写到这里来代码,因为很简单,我就不耽误时间了啊,一看就行了,那么我们来看一下这个结果是什么啊,呃,从这一方来看出来应该编辑三个,就是一,呃就这三个就都会出来,写到这里来就有要出来三个结果。出来三个啊,三个这个建筑对吧,K value应该有三个,那么分别就是同学们看到的这个玩意儿。
03:05
啊啊,每每现在每次进来都是一样啊,一个是这个,诶还有一个是这个剪字段对吧,这个也是一个好,我们现在运行一下看对不对。啊,特简单一段代码来执行一下走。编译啊运行,那运行过来我们可以看到呢,应该拿到了这三个AB0C3,因为我这地方是用的是不可变map,所以说它顺序是有有序的,好这是第一种方式,大家看一下,第二种方式呢,大家看我在这做一个说明。好,这个地方表示什么意思呢?这表示我只便利出值为零的这种K86注定啊,这个是只便利出满足什么呢?值。只变历,变历出什么呢?值就是这个KY6这个值啊,等于零的这个键值段。K86,其他的我不要了,其他的过滤掉了,其他其他的其他的相当于过滤了,过滤不要了,过滤掉了。
04:06
那是不是这样子的呢,我们来运行一下啊,我们来运行一下这个结果啊,为了看到这个效果呢,我给同学们加一个这个处理。好,下一个这个处理,把这句话呢写到这来啊,大家看一下就很清晰了,这边只能得到一个结果,那就是B0,没有别的啊,没有别的只有一个B0,那运行一下,同学们只拿到一个B0,因为只有它为零嘛,走一个,好,同学们请看运行效果,这时呢,我们只拿到一个B0,没有别的了,但如果你要把这个其他改成零,也会被编辑出来,好,这个也很简单。好,现在呢,我们再来看第三个,第三个呢,其实就是上一个的另外一种写法啊,这个呢就是啊,这个就是就是上面的啊,上面代码的另外一个写法,另外写法。另外写法当然当然有一个情况啊,说老师因为你这个写法呢很简洁,就指定你假如我将来取的是一个范围。
05:07
哎,比如说我这个值,嗯,不是零,而是大于一小于二,我遍历出来,你这个就不好使了,对不对,它的功能还是比较限制嘛,但是我这个衣服呢,我是可以写一个表达式的,那我可以写零,我还可以,我还可以写个大于零吗?我可以写,我写一个大于等于零,还可以写,并且怎么怎么样,是不是它的扩展性就更好吗?所以说大家要要去看到这个,诶说不能说韩老师讲了一个啊,我自己就完全说,诶那以后就这么用,突然人家给一个要求,说请你编列出这个值在一个范围的,你又不会写了,说老师你要写的这个写死的我不会,那你这样就学东西就学的很很,那你肯定学越学越累了。头脑一定要灵活一点啊,肯定我既然觉得这个例,再举这个例,肯定还是有区别的,只是它更加的灵活,只是下面的用法啊,只是下面的用法呢,更加的灵活和强大,灵活和这个强大,因为它可以写表达式啊,可以写表达式,好同学们,我们再来运行一下这个啊,那这里呢,我们再来写一个输出。
06:11
那这有输出呢,我就直接这样子啊,同学们把这个拿过来,当然我们这把这个形式首位给各位朋友放到咱的笔记中,对不对?好,我们现在学习呢,要高效一点,对吧,尽量把时间花在分析上,你看这个代码跟我们想的完全一样啊,对的,B0嘛,B0好,但是如果我把这个条件换一下,诶,我说要大于等于一的对,大于等于,那这里面应该就便利出来,这个一和就A和C就出来了,各位同学请看好,因为满足条件嘛。你满足条件我就出来了,好同学们可以看到这两个就出来了,非常的简单啊,各位同学好,同学们,那关于我们这个讲的for循环for表达式中的模式呢,大家就可以看到,其实它也是一种模式匹配,对吧,也是某种匹配,只是没用了显示的match。
07:00
Case了,但底层仍然是匹配的一种方式,好,同学们,我把这个呢给大家板书到这里来。好,这是刚才我们讲的又一个知识点,对吧,叫for表达式中的模式,诶各位朋友。好,给同学们放到这里来,Easy啊easy,那刚才讲了一个什么玩意呢?就是这么一个东西,基本啊,基本介绍和应用实例,Very简单啊。给同学们写到这,这是基本介绍,基本介绍OK应用案例OK。应用案例,OK,没问题,那我们把这个代码呢,也给同学们板书到这里,这边有我的一些注释,大家到时候可以看一看。好,来,走一个表格。好的,那关于for循for的表达式种模式,我们就给大家介绍到这里。
我来说两句