00:01
好了同学们,那咱们就开始上课了啊,我们这个昨天啊,最主要是说了一下我们这个collection这个集合这一块的,嗯,那collection这块呢,其实大家想一想啊,有些人就说老师这个集合我学不会啊,这个东西其实你想复杂了,就是杜老师在课堂上讲的这个东西呢,我想说一下啊,这个东西啊,其实讲的都是一些源代码呀,啊一些底层的东西呀,怎么实现的呀,其实如果说你要是现在啊,能够掌握这个集合对象会new,对吧,你会调用我们collection这个接口里面常用的一些方法,这就代表你已经学会了,各位啊学会了,然后这个如果说源代码你看不太明白,因为大家毕竟是初学者。这个东西我也没有强迫大家必须去看,必须得看懂是不是,所以这个东西呢,你看你的情况,如果说你有经历的话,你看一看源代码,没有经历的话,你先会用,明白吗?什么叫会用啊,比如说我找一个同学对吧,比如说宝海同学,你来把这个的集合给我弄一个对象出来,然后你把的一个集合里边,你给我加数据,然后呢,你遍历一下这个的集合。
01:08
对,如果这个你能完成代码你能写对吧,你能往容器里边放东西,你能从容器里边把东西取出来,我就就可以了,就相当于说你去超市购物的时候,你买了东西知道往知道把这些东西怎么放到你的购物袋里边,另外你回到家之后,你怎么知道。从你的购物袋里边再把东西取出来,我觉得这个是最主要的。你觉得呢,对吧,集合这块最主要的不就是这些内容吗?是不是至于说啊,它底层是这个,呃,这个这个什么数据结构,对吧,它底层怎么着怎么着,初始化容量多少,每次扩容多少,你说这个东西其实怎么说,你可以慢慢后期再去掌握,但不代表不掌握啊,后期慢慢慢慢对吧,你接触多了,你再去掌握它也是可以的啊,谁是线制安全的,谁是谁不是线程安全的,这个东西你现在记不住,你就先不要去记。
02:00
我还是之前的那句话,选择性的去学习学这个东西,其实你想想我以前啊,在接触这个集合的时候,哪有人给我总结这个结构图啊。没有人啊,这是我后来当了讲师之后我才知道,哦,原来有这个集集合的继承结构图啊。我当时我们说白了,我们上来就用,就叭叭new new完之后ADD叭叭叭往里面放,放完之后呢,开始迭代器,迭代便利。就会这么一点,后来慢慢慢慢我们用时间长了之后呢,对吧,我知道哦,有这样一个继承关系是不是啊,里边有这样的接口啊,还有这样的实现类,每个类底层是什么数据结构,什么数据结构,我们是这样过来的,我们跟大家的学习方式不一样。啊,所以说我觉得大家也没必要说上来把自己难为死了。说老师这个源码我不会看,我非得看,老师我那个单项列表写不出来,我非得写。这个东西你看你怎么看,就你先会用,我觉得集合要先会用,你如果连用你都用不明白,对吧,你说拗一个集合你都费劲,往集合里边加点元素,加点对象,加点数据你都费劲,那我觉得你不要谈别的了,你还谈别的源码干啥呀?你根本连编写代码都不会,你还谈什么源码是不是?我觉得你的学习方法要调整,还是那句话,你要会学。
03:14
你看我们这个最初学这个哪哪哪有知道这源码这个那的,这后期我们研究的,这都后期我们在用的,时间长了之后,我们去研究研究就是这样的啊这样的,所以说你看你怎么去学吧,好吧啊,别把自己给压压压死了啊说哎呀我这个压力好大呀,这这个东西怎么这么多呀,单词啥,主心骨是啥,你主要要掌握的是啥,你后期要写代码的话,你最基本要会的是什么,是不是这个接口里边的方法你得会,是不是这个接口里边常用的方法你得会。实际上现在这个跟你之前学那个。学那个字符串啊,是一样的。顿,你觉得有什么技术含量?你好好想想那个盾。是不是就是一顿?吊死蹲里边的这个常用方法呀,我们让大家掌握常用方法的目的是什么呀?就是为了以后开发效率高一些对吧?我说来同学你给我回答一下,集合怎么获取元素个数,叭叭叭叭叭一半天不知道掉哪个方法对吧?Size对不对?这个方法可以获取集合中元素的个数。
04:16
我说来,同学你写个代码来,把这集合里面元素给我编辑一下,迭代一下,老师,迭代是啥玩意儿,不会呀。呀,是不是,哎,所以说我说什么让你完成什么功能,你能够从集合这块马上把这个代码给我写出来,这也算是这关是过了。啊,如果说你底层源代码啊,什么什么数据结构啊,这个不是太通的话,你就先可以放一放嘛,对不对,为啥非得为难自己,好了,这个我就不多说了,各位啊,你看你怎么学吧,自己调整一下啊,自己调整一下,然后这块呢,有一个site set下面有个set,还有side下面有个solid side,还有solid side下面有个垂side,我再强调一下啊,这个site呢,是一个无序不可重复的,这个也是无序不可重复的。这个无序说的是没有下标,我再再强调一下,就是set集合跟list集合它的特点是什么?List是有下标的,从零开始以递增,Set集合它是没有下标的。
05:09
没有,下边你存进去是这个顺序,你取出来就不一定是这个顺序了。啊,无序不可重复,但是它存进去的这个元素,它可以自动按照大小顺序排序,就是set,它存着元素对吧,它可以按照元素的大小顺序自动排序,很神奇,它怎么排的呀。是不是,哎怎么排的呢?哎,然后下边呢,有个时现类叫吹set,那么当时呢,我们在昨天在最后的时候给大家提了一下哈希set这个东西是什么呀,实际上就相当于是说我们哈西map底层的呃一个key,是不是这个吹赛底它是个什么呀?它实际上是吹map集合底层的一个key是不是哎吹set集合。和这个哈set集合底层都是map,所以我们在这里就不再详细讲了,我们去讲一下map,我们把map这边学透了,学通了是不是,那我们的这个set啊,High set和吹ET自然就会了啊,自然就会了。
06:03
好了,这个呢是我们,呃,昨天啊,就是把这个collection这块咱们说了一下,当然我们还说了一下别的,比如说泛型是不是,哎,泛型有什么用啊,可以让你集合里边元素的类型更加统一,对吧?让我们写代码的时候很少的再进行什么,再进行向下转型是不是?哎,比较方便,昨天还讲了一个叫增强for循环for each,你用的是不是很爽啊。是不是那个for循环既可以便利数组对不对,哎,又可以便利这个集合对吧?哎,又可以便利数组又可以集合,那写法都很简单啊,写法都很简单,这个呢,怎么说呢,For,呃,For each这个东西啊,嗯,你别看它它它它简单啊。有的时候啊,有的时候不如带下标的。明白吗?有的时候实际上它不如带下标的,你带下标的话,你这个下标哎,你还可以用一用你for号意识这个东西呢,它没有下标,有的时候你用下标的时候,你就很尴尬啊,很尴尬行吗?这个到以后你会接触到啊,所以说你这个不是不是说这个就是就是就是完美的。
07:09
对吧,就是完美的一个东西啊,以后我们就不用那个呃for I了啊,哎,我们就用那个for each了啊来扯嘛,这个这个这个不可能啊,这不可其实大家知道。JDK的新特性。新特性你懂吗?就是可以有也可以没有是吧?哎,也可以没有啊,就是可以有也可以没有,那有的话可能在编程方面可能对我们有一定的这个呃帮助对吧,我们写这个代码可能会更简洁一些,呃,其实如果说你要是没有它,我们能不能写代码啊,没问题,你比如自动装箱,自动拆箱,我没有行不行啊。自动装箱对吧,自动拆箱我们没有行不行啊。没有可以啊,没有可以,没有这个东西我就照样写代码呀,对吧,没有泛型行吗。没有泛型也没关系,我就向下转型呗,对吧,写的稍微麻烦一些是不是,哎,Fair each,那没有行不行啊可以呀,对吧,哎,Fair each,那我们可以用普通for循环嘛,对不对,所以这个东西看你怎么去掌握啊,以前我记得我在开放的时候,最初嗯,最初的时候这个fair each这个东西啊,啊,我们也怎么着啊也也。
08:14
有这个新特性了,对吧,有这个新特性了,那这块呢,我们就呃这个这个这个这个写代码对吧,我们还是写这个以爱下标的这种方式啊,它有一个过程啊,有个过程,那现在有的时候我们可能也不会去使用fair each啊,因为有的时候需要使用加标啊,需要使用加标好了,那这个呢,咱们就别再回顾了啊,别再回顾了,不回顾了各位啊,这个接口有什么方法,你得你得会啊。是不是啊,尤其这个例子的集合有几种便利方式,大家还记不记得?有一种方式是使用下标的方式,对吧?啊,这个就没有下标的方式了啊,因为这个没有下标啊,这个下标的方式便利,还有什么呀,迭代器的方式啊。哎,迭代器的方式还有什么呀,增强for for循环for意识的便利方式吧,哎,那这个呢,这个set集合它的便利方式是什么呢?除了除了实际上set集合这块,除了没有下标这种便利方式之外,剩下的几种方式都有,比如说迭代器啊。
09:06
对吧,增强for循环呀,是不是都可以啊都可以。好了。呃,那么接下来咱们看什么呢?接下来咱们看一看这个map这块。首先我先说一下map集合呢,它是由键值对的方式去组织这个数据的,比如说它一存存一个键,存一个值,键值对啊,其中键呢起主导作用,Value是K的一个附属品。啊,Value是K的一个附属品,各位啊,来,那么这块的话,咱们呃看一看。来。在这啊collection这块我们去新建一个什么呀。新建一个class啊,我们就叫做map吧,Test对吧,零一啊map test01。嗯,来ctrl shift f12最大化,然后这里呢,我想看一看啊,就是Java u map这个接口中常用的什么啊方法啊,首先第一点呢,要注意map和谁呢?和这个collection啊,没有继承关系啊,没有继承关系,这是第一点,第二点呢,Map集合以什么呢?以这个K和什么Y的方式。
10:14
啊,存储数据啊,我们叫值对值和value都是引用数据类型啊,都是引用据类型和Y都是。对象的什么,对象的这个,呃,叫内存地址啊,内存地址那。Value啊是呃,这个K吧,起到什么?起到主导的地位啊地位,Value是K的一个附属品。啊,Y是K的一个附属品,要知道这个,那我们首先上来第一件事,我们要看一看这个,因为我们学这个体系结构嘛,是不是,所以我们先看一看这个接口中有什么方法,我们先把这些公共的方法先掌握了,然后我们再去一个一个去学习,好吧,哎,我们先来看一看这个,呃,这个map当中公共的一些东西啊,公共的这个方法很多,你看。
11:13
对吧。对不对,你一看就知道,哎呀,这个方法好眼熟啊,是吧,啊好眼熟啊,其实和没关系啊,就是map接口中常用方法。啊,一个clear啊,就不用多说了,是不是,然后这个key是干啥的呀。Contain可以判断是否包含某个K吧,哎,然后呢,还有一个叫contain什么value吧,哎,Contain value,那contain value呢,是判断是否包含某个value吧,哎,判断是否包含某个value啊。然后呢,这个呢,一会儿我们再看啊,这个equals不用看了,Get方法大家看是通过K来获取Y6的,这个方法是不是有K就可以拿Y6啊。对吧,哎,有可就可以拿Y流啊,那么再往下大家看这个map是不是也支持泛型啊,你看。
12:01
这是泛型对吧,它的泛型写法是中间有个逗号,你看是吧,哎,K逗号什么value啊,KV结构啊,键值对的方式中间有个逗号啊,你要注意啊,这个方形中间有个逗号,因为键和值你都可以指定它的类型。都可以指定它的类型啊卖集合。来下边有一个叫。这个方法是判断集合中是否,呃,判断集合是否为空啊,然后下边这个是获取map集合所有的K,我一会儿一个一个讲啊,一个一个讲,然后这个put就很重要了,这是往里面放建筑对的。就相对类似于爱的方法啊,伦布方法是通过K来删除我们的键值,对啊。来再往下的话,我们看一下。还有个叫size啊,几乎这些方法都很常用。然后下边呢,是一个values啊,是获取这个机和所有的value啊,所有的value。
13:00
那么其实还有一个方法,就是这个方法啊,这个方法长得很诡异,你看。很诡异啊,说set里面有一个什么呀,Map map map.entry啊,这什么什么鬼是不是,哎,Map点什么entry。嗯嗯。一会儿一会儿再看一下啊,一会儿看一下,呃,首先我们排个顺序啊,首先这个是干啥的呀。哎,你要掌握。这是像什么呀?像这个map集合中。添加建职队。啊,这个是什么呢?这是清空map集合,这个呢是判断map中是否包含某个K。这是判断map中是否包含某个value。啊,这是通过K获取什么呀,Value。啊,获取完整,那这个方法也很重要,我们排个顺序啊放到这儿啊。
14:03
这个是什么呀?是判断map集合中的集合中元素个数是否为零。啊,是否为零?原素个数数为零啊,这是获取map集合所有的K。看好了啊,是获取map。获取map集合中所有的key。啊,就是这个map集合呀。嗯。它长什么样呢?就是我之前也给大家画过,中间呢,你可以想象成它是有个竖线的,然后呢,有很多横线,横线对吧?哎,横线,然后呢,横线,然后接下来这个位置我们就可以是一个K,这个位置呢,你就可以理解成是一个什么呀,哎,是一个value。啊,Y0,那么这个位置呢和这个位置存的都是对象内存0X0X,比如说0X1234。
15:00
0234,然后这边呢,可能存了一个对象内存,0X2356啊,他们都存的是一个对象的内存,这是键值对的方式啊,这是一对数据。明白,这是一对数据,各位啊,一对数据。你比如说我们这个put方法,就类似于我们之前的爱的方法。明白吗?这个put方法就是往里边加建值,对put里边有两个参数啊,不知道大家有没有看见啊,它有两个参数K逗号value是吧?哎,K逗号value需要呢,进去进去value啊,需要这样去调用这个方法啊方法。然后呢,我们这个铺的方法。呃,另外如果说你想把这个map集合当中。所有的这个这个这个K部分这个K全出来。对吧,那你可以调哪个方法呢?可以调这个方法叫。Set啊,返回一个set集合,看见没有是吧,很正常吧。
16:00
整个这个东西它。渠道。对吧,这是个什么呀?哎,这是个S的集合。K。是个集合。这就印证了我们之前所说的这个图上的对吧,哎,你这边这个set,实际上你哈希set呢,往里边放是放到哪了呀,放到了这个map集合的什么K部分。啊,是放到了map集合K部分,你往set集合里面放,实际上是放到这了,放到这儿了啊放到这有的说你老师你怎么知道的,我们看源码了呀,是不是我们找找high set。这个含set呢,我们是加va u下面的含set这个类啊,这个类呢,里边是不是有爱的方法你看。对吧,包括这个里面不是有那个叫呃,叫做构造方法嘛,你看构造一个哈set底层实际上是用了个哈map嘛。是吧,然后这里边儿有个方法叫爱的方法。
17:01
嗯。I的方法,这个I的方法呢,实际上你看看他是不是放到map集和K部分了吧,这个元素是不是放到这个位置了。对吧,哎,放到这个位置了啊,大家注意一下,注意一下啊,哎,这是放东西啊,放东西你看。是不是,哎,这是这个方法叫做什么方法,叫做key set方法,用来获取map机器中所有的kid啊,所有的kid。那么这个钙的方法括号里边跟一个K呢?什么意思呢?就比如说我们这个钙的方法啊。呢,括号里边一个。传一个K呢,来获取这个value,它这个方法的返回值是一个value啊。就你调map集合的盖的方法,括号里边传个K,传一个K之后呢,可以获取到这个value的值。啊,这是这个方法,可以是清空,判断是否包含某个key,判断是否包含某个value。判断是否为空对吧,获取所有的K,所有的键,你看获取所有的键啊,所有的键是exce集合。
18:03
所有的键啊,是一个set集合,这个remove括号里面传个K是什么意思啊,通过K啊,这是通过K删除键值,对。你比如这个remove方法,你将来用的话,你remove。是不是,哎,然后括号里面传个K。这是什么意思啊?调用这个map集合,它的这个remove方法框里传个K,传这个K吧,哎,那这样的话,整个这个就被删掉了。明白吧,啊,整个这个建职队就被删了。啊,如果你想删除这个K。那么这个时候你传个K1就行了。啊,你传这个K1。那么这个时候呢,整个这个建职队就被干掉了,就这个意思啊,Remove。Size呢?是获取什么呀?获取map集合中键值对的,键值对的数量啊或者个数啊,键值对的个数,这是获取所有获取map集合中所有的value。
19:09
啊,返回一个collection,你看对吧,哎,返回一个collection集合,总之它返回一个集合什么意思,你只要点values这个方法执行,它就会把所有的什么呀,哎,这个value拿到。就这个value全部拿走了,明白吗?你如果想把所有的K拿走的话,哎,你调哪个方法,就上面我所说的这个叫k set,如果你想把所有的value,哎从这怎么着啊拿走的话啊,那你需要调哪个方法呀,需要调我们这个叫做values方法啊values方法来就这个方法。嗯,这个方法啊。这个entry set是将map集合转成set集合啊,这是将map集合转换成set集合。啊,将map集合转换成。
20:01
这个将map集合转换成set集合,这是个什么鬼?就这个方法,这是个啥啥啥东西啊?啊。他是这样的各位啊。这个entry set呀,假如说假设啊,假设现在有一个map集合。如下所示,这是map啊。Map呢当中有。Map吧,假如MAP1集合啊,有K有value。K这块比上一,假如一啊张三二,然后是李四,三呢是王五吧,四呢是赵六吧,假如说是这样的啊好,那这个map集合长这个样子,那如果你调了这个MAP1这个对象。这个集合对象啊,这个集合对象它的entry set这个方法,你只要点key按点entry set entry set之后呢,会返回一个什么呀,Set集合。Set集合各位会返回一个set集合各位啊,就是相当于说这个map呀,它调用我们的这个entry set方法,就把这个整个map转成了一个set,好,那么现在这个set集合对象长什么样啊,哎,就长这个样子啊,长这个样子一等于张三,二等于李四,三等于王五四等于什么呀。
21:24
哎,找六。明白吗?这是一个set集合。这是一个元素了,各位啊。这是一个元素了,这是第二个元素,这是第三个元素,这是第四个元素,听懂了吗?这是第一个元素,就是你现在这不是map吗?调用entry set就把map集合转成set集合了,把这个map集合转成set集合,它是把K和value。干啥呀,撮合到一块了,融到一块儿了,明白什么意思吧,整个这个看成一体了,这是一个元素放到哪啊,在集合中明白吗?这是个元素放哪啊,放到S集,S集合当中。
22:00
啊,然后这是个元素,放到set集合里边,这是个元素啊,放到set集合,当set集合当中,那有同学问我老师,那我这个set集合里边这个元素的类型是什么类型。就是这个类型。好,我问大家问题,这是泛型,能看懂吗?Set间号开始,间号结束,这里边儿的东西叫泛型是不是,哎泛型。大家看他这个JDK的这个帮助文档中,人家说明了这个位置有一个什么呀,有这么一个鬼是吧,你看你看打开你看有这么一个东西你看。是吧,这是一个类型,各位啊,有同学老师这啥玩意儿,这又这这这又套这这是啥意思。注意啊。这个。Set集合中元素的这个元素,这个元素它的数据类型是什么?注意啊。Map集合通过en。Set方法转换成的这个集合,Set集合中元素的类型是。
23:11
这个元素的类型是它。有的人说,老师,这是个什么东西啊?这为什么还有个点儿啊。这是个静态内部类。这是个类名,各位啊,从这个位置开始到这个位置结束,这是个完整的类名。就跟一样。别多想啊,map.entry。和死一样。都是一种类型的名字。只不过map.entry。是什么?是静态内部类?
24:00
啊,静态那不得是map。中的。静态累不累?是map中的map.entry啊,Map下的静态内部类。雨桐老师,我不太明白你在讲什么,我再说一下啊,我在讲什么?就你上面这不是个map吗?对吧,这个map集合调安垂set这个方法,它会把整个这个map集合变成这个set集合。这个S集合里边,这是一个对象,这是一个对象,这是个对象,这是个对象,你这个对象的类型是什么?就是你从这个位置开始到这个位置,这是个对象啊,你这个对象它的它的类型是什么?你这个对象的类型就是这个类型。就是你set里边存的是啥它。你后边这个可以不用看,就你set里边存的这个元素的类型是它。它的类型是谁,它是谁的类型是这个元素的类型,是这个元素的类型,是这个元素的类型,而你这个元素是不是既有K又有Y6啊。
25:06
哎,所以大家看这个entry entry这个类名,这是一个类名啊,静态内类类名这个类它是不是也支持泛型。是不是也有K和value啊,你看这不K吗?这不value吗?是不是?哎,有K有value,你看它转成这样了。你看是吧,哎,那雨桐老师这个方法是干什么用的,咱们一会儿再看行吧,哎,这个方法其实还是很重要的一个方法,呃,那这块的话,既然大家遇到了这个内部类,咱们就可以把这个内部类看一下,比如说我在这新建一个class啊,Class我说遇到了,我们看一下是不是,哎,My class,这是一个普通加油类吧,是不是?哎,普通加油类,那么接下来我们在这边是不是可以声明一个静态的内部类啊,静态内部类假如私有吧,Private static class是吧,我们叫inner class啊,这累不累吗?
26:01
是不是,哎,累不累。你看PSVM走,那我们现在。这个静态内部类这块,假如说有一个static VO的一方法,然后我们输出静态。内部类的M1方法执行。对吧,那执行的话,那这边怎么执行啊,你就web类是my class点什么呀。点inner class是内部类,内部类点M1方法你看。对吧,外部类内部类点M1静态的,静态的,你看这样执行。预警。静态内部类。这里有个静态方法。是吧,哎,静态内部类M1方法执行。对不对,那这一块的话,假如说这是一个静态方法。
27:09
Cat。对。呃,静态内部类,然后这是静态方法啊,然后这个是main方法,然后呢,这个类名,然后点什么呀,Inner class.me。然后呢,接下来我们在这里,假如说我们要有一个方法,这个方法是实例方法M2,这是个实例方法对吧?哎,这叫静态什么呀,内部类中的实例方法执行。那么大家知道实例方法都得创建对象对吧,这是实例方法呀。那调这个方法是不是都得创建这个对象啊,那这个对象怎么创建呀。怎么写呢?来,我们my class点什么呀,Inner class,然后我们一下。
28:06
返回个什么呀,My class点什么呀,Inner class。闷。第二。点inner class啊mi,那这样的话mi去调什么呀,M2。你看。这是不是创建静态内部类对象啊,创建静态内部类对象。懂什么意思吧?来你去执行,你看创建对象叫ML方法,Mmr方法执行,静态内部,内部的实力方法执行。对不对,这是静态内部类,就是说你在类前面加个static表示静态的内部类,那你这个类型的名字叫什么?其实你这个类的类名叫啥。这个类名叫做。类名啊,叫做什么呀?叫做my class.inner class,这是个类名,你懂不懂?
29:02
啊,你比如现在你给个set集合,各位你给个set集合啊,给一个set集合。对吧,该该什么呀?Set集合中存储的对象是这个类型。那你能不能用泛型呢?Set my class对吧?点什么呀,Inner class,然后这是一个set集合。集合你看my class.inner class,然后呢,我们叫set new一个什么呀,哈西S好,这能看懂吗?就相当于一个集合里面存的是这个。这个类型的数据明白和这个一样,就里边存string对吧?SET2你有一个什么呀,哎,叫哈希set那一样,只不过这个set集合里边存储的什么呀?哎,这个set集合中存储的是字符串对象,你上面这个存储的是这种类型。
30:01
这种类型啊,就是说大家呢,对这个呢,应该我觉得应该也还能够理解吧,还能够理解,你看看这个这个方法回头来看,你看这个叫做什么呀,我们的一个ENT set这个方法返回的实际上是一个map.ent。这个我觉得应该也能理解吧。是不是你这个泛型你可以先去了的,对吧,就是说明这个类支持泛型,你看这会儿你能看懂吗?就像赛机构里面存的是这这个这个类型。懂什么意思呢?这个是一个类名,然后这个是什么呀,是我们内部类,静态内部类。静态那各位啊,好,大家理解一下,理解一下啊,就这个ENT set在强调是map集合,通过这个方法可以把它转成什么呀,Set集合整个是个set,这个set里边存在什么是map点安这种类型。啊,就是这个是个啥,就这个东西啊,就这个东西是个啥,这个东西是个什么,就这个东西从这开始到这结束,这个东西是个啥,是个这个东西。
31:03
是个这个。啊是这个对你你你其实你也可以自己搞一搞,对吧,这种东西没什么可讲,也没什么可学的,你自己研究研究明白了,你想想静态的内部类就是类名点呗,是不是静态方法你调用类名去调呗,实际方法你得拗对象呗,你把这个对象拗出来,你怎么拗啊,你这么拗呗。是不是啊,你有这这不对象就有了吗?调MR方法赛季是哎你你还可以再搞一搞别的,比如说一个class叫my map,对吧,My map。是不是,然后里边有一个什么呀,呃,就有一个,比如说这个叫public static啊,然后公开的吧,假如说public static,然后class那边叫my en。Man。这个位置支持什么呀,支持我们的一个泛型。行不行,你看这是泛型啊。对吧,那这样的话,你这个set即可,怎么你set里边可以存啥呀,存这个呀,My map呀,点什么呀,My entry呀,My entry,你string对不对,哎,然后in teacher不是in,然后string是不是,哎这就是那个SET3你有一个什么呀,哎哈said。
32:17
是吧,是这样的,能看懂吗?那这个map吗?买entry是不是,哎这个支持什么呀,泛型嘛,所以你key呢,跟个inte value的话,假如跟个string对不对,哎,Value跟个你看就这样。这个能理解的话,那你这个就应该能够理解的啊,应该是能够理解的啊,就是entry set这个方法返回set set这块呢,有哎,你看里边是放这个东西。对吧,啊,那是因为有这么一个泛型在那儿嘛。是不是,哎泛型啊泛型。好,那行。我们就说到这儿啊。嗯。
我来说两句