00:00
那下边的话呢,我们看下这里边叫原视图的操作方法,实际上呢,就涉及到我们如何去遍历这个map当中的这个key value6,以及呢key value6。这呢就是关专门呢来考虑这个便利的事儿,前面的话呢,我们讲collection说便利可以用迭代器,这个时候呢就没有迭代器了。迭代器是针对于咱们collection来讲的,现在呢,我们有一个这个map啊,有这个map的话呢,你说我想调一下点ter这个方法点ter很遗憾没有调不了啊,所以呢,呃,你想便利这个map的话呢,直接用迭代器是不行的,但是的话呢,我们前面呢,上午讲过这个事情了。讲过这个事情,说呢,我们这个map呀,它是由key和value构成的,那所有的key呢,它是一个set,那你要想便利所有的key,那你只要拿到这个key的这个set呢,再去拿set去点是不是就可以了。
01:04
诶对的,那么value呢也一样,只要呢,你能拿到所有的value,这个value呢,它的存在形式呢,就是一个,那你再拿着到拿到这个collection再去点ter这个方法就也能够出来,那么建那呢,整体又构成一个set,那你要是能拿到所有的entry构成的这个set呢,去点也OK,那关键呢,就是我们怎么能拿到这个所有的key构成的这个set啊,Y6构成的collection啊,Entry构成这个set啊,这呢正好对应的就是我们这三个方法。哎,这三个方法。啊,那这就容易了。哎,这么着啊,首先我们想便利啊,这个已经写了这个五了啊,首先呢,我们想便利一下所有的K级吧,就是看看我们这个map当中都有哪些K。
02:08
那我们呢,就是调用咱刚才看到这个方法叫做key,哎,Set这个方法就可以了,我们拿着map点叫key set,那通过这个方法呢,大家也能够看到啊K呢,构成的确实就是一个set了。哎,那这样我们放到这out enter一下,这不就得到一个set,哎,得到一个set了,那set都拿到了,这个set呢,就是我们所有的key构成的,下边呢,再去便利,那你要是想用这个这个迭代器你就用呗,已经是个set了。点啊has next这里边呢,输出一下啊E点啊next这呢,就是所有的key啊构成的这样的一个集合。你看这不就这三个数吗。哎,这个不复杂啊,这个大家呢,下来呢,把这些方法呢,你可以练一练,下边这些呢,其实比较清晰一些啊,直接呢调一下就出来了,那便历这块呢,稍微复杂一点啊,稍微呢写一写,下面呢我们去遍历啊叫所有的叫value value呢其实也是一个集合,它调的方法呢叫values。
03:16
啊,Values map点调values,那我们看到它的返回值就是一个普通的collection enter。啊,这个我们就叫value,那既然你是一个collection,那我们也可以呢调这个。也没问题啊,那咱们换一个吧,这用个增强for吧,这儿写什么类型。哎,对object的吗。诶,然后冒号一下values。这么着能行是吧,哎,然后呢,在这里边呢,我们直接呢,就s out一下obj,哎这不就完事吗?哎这呢,咱们加上一个这个换行啊。
04:02
好,那么上边呢,这不就是咱们的K,这呢就是咱们这个Y6。啊,那大家呢,你再去细看一下哈。嗯,这是AA先出来这个啊,然后出来BB再出来这个抽出来这个45,现在出它出它出它你看这个是不是。123谁的。呃,看不出来谁的俩是吧,那换一个吧,这叫1234啊,重来一下。嗯,这个A,那你可以,你看它对应的是不是就是123BBBB不就是这个56嘛,45啊1234。嗯,就是他们呢,其实这种便利的顺序呢,是也是一致的啊,它不是完全随机的了,其实我们找这个value呢,你不也得去,其实这个呢,就相当于咱不是说了数度,它底层其实都是NT,或者你叫node也行,它是找到你这个node以后,哎,你要是要key呢,我就给你把key拿到,你要是要value呢,我给你拿VALUE6他每次的话呢,他找都是按照这个指定的一种顺序去找的,所以说你这里边看它这个其实就是这种对应的这种方式啊。
05:15
行,这是遍历所有的key,遍历所有的VALUE6,下边呢,我们想遍历所有的key value6。就是咱们在想,哎,你写个K后边呢,对应个value啊,我们自己呢,把这个匹配起来,让它输出啊,让它输出,那这呢,我们就看到上面一个方法叫做entry set。啊,就调这个方法就行。诶调这个方法看一下啊,那我们拿的这个map呢,去调了一个entry,构成了一个set,好我们out enter一下,返回的呢,还是一个set,只不过这个set里边的一个一个元素,不是像第一个是个key了,这也不是像你这里所有放的value了,我这呢放的是很多个entry。哎,很多这个entry,那既然你也是一个set,那我也可以呢,去调一下叫这个方法。
06:07
迭代器,然后呢,Enter。Al enter,哎,生成了一个这个迭代器一,然后while。一一。第二啊,Has next,那么接下来我们先不着急输出哈,我现在直接在这块呢,去调一下这个next方法,返回的这个类型呢,是一个object类型。这个呢很好理解,那么其实这个obj。现在是谁啊?是不是就N啊对,就是一个一个的N啊,那杨IG呢,就是你如果这时候我就想给你做一个强转,其实也是可以的,强转呢,我们就是map当中的N垂呗。Enter一下,做一个cast转。嗯,就是相当于咱们这时候呢,取的我们这个,呃,Set,这个set的话呢,你你这样看啊,看这个水咱们那会呢,调的叫key set里边的元素是一个一个的,他们你要叫values呢,一个一个的这个值,现在我调的是这个叫entry set。
07:16
ENT set也是个set里边呢,就是这是一个元素,这是一个元素,哎,这是一个元素,那么每一个元素呢,都是一个entry,那既然你是个entry,我这不就可以对你进行强转了。啊,这个大家要关注一下啊,就是我们集合中的或者这个得到的这个叫N垂set集合中的这个元素啊,都是啊ENT垂,哎,那我就可以做个强转了,就转出来了,转出来以后呢,哎,这个大家呢,哎,如果你要是想看到说我们到底这个K是多少,这个value呢又是多少,在咱们这个N垂里边啊,它这不是有一个方法叫get k,还有呢,叫get value。啊,你要看这觉得不方便,你可以来这看,在这呢,你去找我们这个map。
08:05
哎,这是map接口,这个map里边它定义了一个内部的一个接口啊,其实。啊,所以说咱们说呃,内部累,内部累,其实内部呢,也可以造的不止类,还可以造内部的接口啊同理就知道了,那么这个ENT进来entry呢,进来以后这边它有这个方法,咱们先关注这个抽象方法啊,Get key get value哎,就能够获取它的键,获取它的值啊成那就意味着我们回过来在下边呢,大家直接啊,我这就s out一下啊,通过这entry呢,我们去get它的key啊,你可以呢,这块给它这个匹配一下啊,这个key你指向的是一个value。哎,我们呢,再调这个n.get一个value啊,这就成了。啊,这样就OK了啊来在这一块我们也加上一个换行。
09:06
哎,你看这这不就搞定了吗。哎,这呢是咱们调的这个叫entry set啊获取呢,咱们所有的entry构成的一个set集合啊,是这样的,这呢其实是嗯,一种方式啊。哎,这是一种方式,那还可以怎么做呢?放这。就如果呢,你想把这个K和value呢,这样就成对的,这样给它输出出来呢,其实呢,我们这个也可以呢,用咱们上边呢,哎,涉及到过的这个方法呢,去拼凑出来一个。怎么意思呢?哎,你看这呢,我们是不是把所有的K就找到了k.K找到了以后呢,我们这个e.next这不就你找到这个K吗?我通过key能找到Y6吗?哪个方法对get的方法不就可以吗。
10:02
所以呢,咱们其实不用他这个方法呢,也可以自己呢拼出来一个,哎便利的这种方式也是OK的啊,那就意味着这呢,不妨我就把这个呢重新再复制一份啊,诶拿过来这呢,我就换个名了,叫K1了,或者我换成这个叫就叫k set啊这我们这个K构成的一个set了,Eer这个叫二了。嗯,这个CTRLC这个小心点啊,把这个也得改一下,这呢是咱们这个K构成一个set,我拿到它的这个L它了,然后这个呢是那二去调含next,那首先呢,我们这里边拿到的这个next。它其实是我们的一个key是吧,哎,那我就先object这个叫key就是它了,然后呢,我们再去通过key呢找VALUE6。哎,那我们直接拿这个map点我去get一下,哎,把你这个K放进去,诶这不就成了吗。
11:01
怎么了啊,这个改成是个二对诶这就行了,然后下边呢,你也可以做这样的一个输出,CTRLV,这个呢,我们换一下啊,改成这个对这样等等等这样,嗯,那这呢是呃,这个就不能这样写了啊,直接CTRLC,这就是K。哎,这是value。哎,这么着。好,那我们看下是不是把这个呢,我们,呃,上面这个换行的啊,CTRLC诶在这写一下。行啊这呢看一样啊行,那么咱们在开发当中呢,其实倒不是说大家啊说非得呢啊我们呃去写便历,你写便利呢,输出这种操作呢,只是想看看这个数据这个事其实不是倒倒不是说常用的啊,那你直接呢,我们前面这不也看过,你直接呢去c out一下这个map不也行吗?在哪写的。
12:02
在这你直接C一下map,其实也能看到里边这元素,咱们现在重点不是说你要看那个元素是谁,咱们的便利的目的呢,是为了什么呢?咱们要把它这里边的数据啊,一个一个的都取出来,这是在咱们开发中是有意义的。对吧,哎,咱不是说了啊,就是呃,这个用户这个界面,嗯,你要注册的时候呢,这不会填很多的这个信息吗?你这么多这个信息,这个框呢表示的叫name,这个框呢表示的叫age,这个框呢表示的是学历,那么这呢,这些都可以作为这个K,那你里边填的这个呢,是不是就是Y6啊,那么这里边这个K呢,都是不相同的啊,都是不相同的,你要填了个相同的后边这个就把前面个覆盖掉了。总之呢,就只能有唯一的这个key存在,那么这儿呢,你填完以后呢,把这个数据呢,比如说啊发送到这个后台了,那么后台拿什么结构重装呢?它就是拿一个map呢去装,Map里边每一个都是一个建池,对,那我就装了个map里边有很多的数据了,那现在呢,这个数据咱们要把它装到这个数据库当中,哎,那我就要操作这个map,那map当中对应数据库中就一张表,表里边呢,这不有好多字段吗?每一个字段其实就你这里边填了一个信息,那你需要呢,是候把map中的数据,每一个K,每一个VALUE6都得一个一个的取出来放进去啊,那你一个一个取不就相当于便利吗?那那这就涉及到我们这里便利的这个操作,我们目的呢,不是说为了这块看一下s out啊,这没啥意思了,主要呢,就是我们想取出来它,只是在这个问题中,咱们呢是看了一眼。
13:36
做这个操作,没有做往数据库塞的这个事儿,哎,后边讲了数据库以后啊,我们可以,诶把这个map中的数据取出来,塞到这个数据库当中。诶可以这样子啊,那反过来呢,你也可以呢,把这个数据呢,呃,在我们这个后台生成以后呢,呃,再以后边会讲这个叫杰森这个字符串啊,诶以杰森这个数据的方式呢,再呈现到我们这个浏览器当中啊用户呢,想看一下它的一个基本情况,读数据库里边,读到这个map里边,然后map呢再一个一个给你转化成这个杰森,然后呢,杰森你在这块呢再呈现。
14:08
啊,就是涉及到了这个map的便利啊,那么这块呢,几个操作大家呢,下来需要能够手写出来啊,会去便利key遍利value遍历呢,K和这个VALUE1对一对的形式出现啊,那么这里边这个方法呢,我们就讲完了,讲完以后呢,哎,看一下也不少,那么我们总结一下,总结一下这个常用的方法还是那么几个点添加删除。修改查询还有什么呀?天山改查是不是有个插入啊,这个事你想一想,Map中有插入吗?我们上面讲了吗?没讲,那你说他有插入啊,为什么没有,对无序嘛,上哪插呀,是吧?啊就跟说你要是呃这个看这个路面上,比如说买奶茶的或者买这个煎饼的排了一队,你说我插个队啊,那至至少得先有队是吧?那如果你看到一堆人在这散的,你说我插个队都笑死了,哪有队啊是吧?啊,都没有顺序啊,所以呢,这里边就根本就没有插入了。
15:24
啊,天山改差差没有,然后长度遍历还是这么几个事儿,大家呢,要能够记住它哪个方法拿起来就能写啊添加或。啊呃,添加修改是不是也它。啊,删除remove啊,按照这个key呢,你去remove,然后查询get,哎,长度size便利。这就多一些了,对,那就看你到底想便利谁了啊,便利K呢,用它便利value呢,用它便利k value6呢,你可以用这个拼出来一个啊,也可以呢,用这个叫NT,哎set啊,这就是常用的这个方法,那这些方法大家呢,需要拿起来就能写啊行,这是我们的第二波。
我来说两句