00:01
行了,同学们,咱接着往下看啊,那么刚才说到我们这个map接口当中的常用方法有这些方法是不是,哎,那咱们就得一个一个方法测一下,咱们测试一下啊,测试一下我们测哪些方法呢?呃,这个方法我们先不测了,一会儿啊,我们这个方法和下边这个方法同时测试,我们先测上面那个这几个方法。行吧,哎这几个比如put往里边存,那往里边存的话,先用一个map出来呗,假如说in teacher是不是,哎,String对吧,就是key存in teacher啊,然后呢,Value存string啊,我们叫map,另一个什么呢?哈希map啊,New一个,那么这其这其实就是创建什么呀,Map集合。对象,然后呢,像什么呀?像map集合中添加键值对点put。对吧,哎,这个位置我们假如说写个一,然后写上张三。张三,有同学说老师这样行不行啊,可以没问题,自动装箱吗?跟new一个in teacher括号里边一个一是一个意思,明白吧,自动装箱还记得吗?写个一实际上是自动装箱了,要注意啊,就是一在这里进行了自动装箱啊,自动装箱来,那么map掉铺的方法,接下来二假如这边存一个什么呀,叫李四。
01:20
然后map集合调铺的方法三对吧?啊,存一个网五,然后呢,我们再往下,哎,Map集合调铺的方法四啊逗号,然后照六,然后我们存进去,那存进去之后呢,通过K。获取value能不能呢?你看这用泛型了,各位啊,Map集合调方法,这个方法叫get,你看这个key是吧,传进去是不是就可以获取value value是个string,你看。Whether是个string,你看为啥,因为这个map用泛型了key value嘛,对吧,所以这个时候当你get填个二的时候,那这个时候是不是会。会在这个位置上返回一个string呢。
02:00
对不对,哎。这是K吗?是不是,哎,返回这个value啊,是不是就是李四呢。这是不是李四?你看李四。是吧,就拿到通过K来获取value的啊,然后获取键值对的数量,那么这个时候呢,我们输出map.size就行了。对吧,建筑都是数量。来我们去执行啊。键值对的数量是几对啊,这是四个四个键值对啊对吧,那你可以删除其中一个对吧?哎,你说通过K删除键k value,通过K删除k value,那么map调用它的remove方法K呢传个二,那么这个时候删完之后,它的数量肯定是变成什么呀三呀,那这个坚持对就删了剩下三对啊对吧,运行一下。
03:04
啊,是不是,哎三对啊,就是这个方法我们会了吧,这个get的方法也会了吧,是不是,哎,然后呢,在这个remove方法我们演示了啊,然后size方法我们演示了,这个clear是清空的。判断是不包含某个K,判断是否包含某个value,来,我们判断一下。判是否包含某个key,判断是否包含某个value。输出我们叫map.contains key对吧?比如说四包含这个key吗?True啊,是不是来输出啊,Map这个点contains value包含这个叫做王五吗?那处啊,是不是啊,这个Y6里边有王五吗?是不是来执行。两个都是处啊,对吧?哎,包含这个四吗?当然包含了,包含这个叫王五吗?包含。
04:00
是不是啊,那么大家注意啊,Content方法底层调用都是equals啊,Contains方法底层调用的都是equals进行比对的,所以所以自定义的类型需要重写什么呀?Equals方法,Equals方法啊,你比如你。New一个inte括号里边传一个四,我问大家你new一个对象,这个是不是还是出啊。包含不包含?包含吧。是不是你看还是包含还是true对吧,你这个字符串,即使你是new出来的字符串,你扭一个词论内存地址不一样了,对吧,你扭了一个新的包含不含这个这个这个这个八五啊包含不包含,哎,它还是包含。还是包含啊。你看是不是它底层实现调的E的方法。底层调的equals,这个咱们之前已经讲过了,在这里我就不再讲了,凡遇到contents,其实都是底层会调equals方法进行比对的,说我这个集合里面包含不包含你,我怎么比对啊,我怎么拿着这个数据和我的和我集合里边这个元素比对啊,调的equals equals啊,Equals为处表示包含,Equals一直为false表示不包含。
05:10
啊,这个意思啊,这意思。好了,那这块的话是咱们的一个叫做con key value这样的方法,那么清空集合。清空map集合,那么map.clear呗,是不是,那这块我们再去看一看这个集合它的键值对的数量,它肯定是变成零了呀。对吧,来走一个。键值度的数量现在是零啊。对吧,清空了呀。是吧,哎,全空了好了,那这样的话,这几个方法,哎,还有个example判断是否为空啊,对吧?哎判断是否为空啊,判断是否为空,这个其实没什么太大意义啊map.is empty空吗?True啊,你size现在是零了呀,对吧?所以是不是空的呀,空的集合里边一个元素都没有啊嗯,大家其实记一个就行,为什么呀,因为我觉得你用size就可以了,Size等于零就代表为空吗?
06:07
是不是?哎,没必要说你记那么多啊,哎,只不过他提供这样一个方法是为了便捷一些啊,就这个意思好了,那这个会了吗?放元素的通过K来会value的,清空的包含某个K包含某个value是否为空,通过K来删除间值对S是用来获取数量的,是不是?哎,获取什么呀?我们间值对数量,那values,这还有个values。把这个values看看啊,然后我们再看下边这个和这个好吧,来看values。那么这个values现在没了,没了,我们在清空这个map集合之前,你要注意在这儿啊,在这儿我们可以获取什么呀,所有的value啊,所有的value,那么这个所有的value怎么获取的map.value就行了啊,返回一个collection,你看这个collection它现在也也很明显点value,你看这个collection返回的是个string,为啥呀?为啥为啥他知道里边是个string啊,因为你用了泛型这个map集合,Key和value是类型固定的,你value这是string,所以点values只要点values是吧,拿到的是这个collection集合,并且他知道这个collection集合里边存的是string。
07:11
啊。好了,那么这样的话,咱们这个connection就呃这个values这个方法拿到之后,我们可以增强for是不是s values来走一个输出。对吧,那现在这个Y6是啥呀,你删了一个,上面应该是删了一个了,删了一个啊来我们看一下,现在是Y6是张三王五和赵六。张三,王五和赵六,就是没有李四,因为这个被删掉了。对吧,因为这个删掉了啊在这个。Remove方法,这你看是不是删掉了这个这个和这个是不是拿到了,拿到了啊,返回这个collection增强for循环是不是,哎,这是增强for循环或叫for each。
我来说两句