00:00
那么集合这块呢,还有一个内容,各位啊,还有一个啥呀,就是集合工具类。集合工具类。我这看一看有没有一个叫collection。我记得好像。在这写过吧?Collection。Collection。新建个class,叫collection test。这个啊,Java下的叫collection,和Java下的collection不一样啊,这是集合接口,这是集合工具类,集合工具类啊,方便方便集合的操作。啊来,那么这块的话,我们可以看看常用的方法啊,叫collection就没几个啊collections.synchronized这个。这个方法啊,这方法我之前说过,现在假如说有个list的集合里边存的假如是string对吧?哎嗯,该记得记一下啊,然后呢,这叫list new一个什么list。
01:12
List啊好扭出来,那么这块的话,它要注意啊,List不是什么呀,List a list啊ara。List集合不是程安全的啊,来变成什么,变成线程安全的。这样做啊,这样做。看见了吧,这样做。那么。另外还有啊,呃,我们能不能排序呢。那这个看不出效果,各位啊,Collections这个类有一个方法叫做thought来看排序,它可以对list集合进行排序是吧,你看list集合排序。
02:02
是不是,哎,那list.i呗,加什么加字符串呗,对吧,字符串的ABC。对吧,List点,然后再加一个比如说Abe。对吧,然后呢,List再加一个啊,叫做ABF啊,然后list再再加一个。啊,加一个什么呀,AB,那就X X abx啊加完之后呢,接下来这是排序啊,排序之后,我们排完序之后对它进行循环,你看它能不能排序是吧。来string s等于什么呀?List输出这个S。排序啊。方法。啊,AB CA AB fax是不是排序啊。排序啊,那你能排序才行啊,你比如list里边放啥呀,嗯,放一个class叫做MY行吧my class。
03:03
哎呀,这个麦这个类都有了。行吧,我们放一个小乌龟吧,啊,来乌龟。我们叫乌龟,乌龟S又一个。那么这一块呢,我们乌龟s.I的拗一个乌龟行不行?哎,然后呢,接下来乌龟s.I的我们再去拗一个什么呀?哎,拗一个乌龟啊,你这个对象呢,来800吧,8000啊来接下来我们干什么排序,能不能排序呢?collections.thought我们对这个例对这个乌龟S进行排序。对吧,我们排下去。New against,然后呢,五调I添加添加加进之后呢,排序来我们停到这儿看一下。这个是哪的问题,各位。提供的是list的集合,对吧。
04:03
然后紧接着怎么着啊,需要的是。不行吧?是不行。为什么这个不行,各位。那哪一种比较常用?本真牛逼,Comparable只需要实现一个规则。这个为啥不行呢?List集合,你有一个list吗?然后乌龟S调I的方法往里面加乌龟是不是你看加。对吧,然后排序。不行。点过去。数组数组,什么数组?数组排序不了吧。
05:01
是吗?这不是list的集合吗?能排吗?开了吗?是不是啊?可以排啊,可以对例子集合排这例子集合吗?下边是往里面加元素吗?这不排序吗?那这个粒子的集合里边,我放的是乌龟啊。对吧,哎,然后呢,Collection点在排序啊,哎,我们点过去啊,把乌龟这块呢,我们我我我我们再再实现一个接口。哎呀,别别别别在这动这个乌龟了,好吧,咱叫乌龟二吧,行吧。为二这个类啊这个类。来class啊,叫乌龟二。这里边儿的代码跟这个一样。拿过来啊,放到这。
06:02
代码一样啊。然后呢,接下来这块的代码,我们让他去实现一个方法,实现一个接口,Comparable接口。然后呢,我们写上叫做乌龟二,然后去实现一个方法,好大家看。是吧,是不是在这儿。this.h减去o.H吧。好,大家看这样的话是不是就行了。没问题了吧,哎,所以说collection的start方法对你这个集合性排序,要求你集合中的元素语言去实现什么呀,Comparable接口。如果说你没有去实现这个接口,大家看刚才是报错的,你不实现这个接口,你看报错的。对吧,哎,报错了啊,所以说这块的话,大家要注意注意一件什么事呢。排。需要什么呀?需要保证什么呀?List的集合中的元素实现了什么呀?这个comparable接口。
07:00
这样才行,要不然他不行。啊。要不然是不行的。排序之后呢,对他输出吧。对他进行输出啊。那输出的话,这边这个图论方法也重写一下兔论。走。行吧,再来一个拿过来啊。小乌龟啊,500对它进行排序之后放循环叫乌龟。二乌龟乌龟S每循环一次输出乌龟好走一个。看是不是五百一千到8000。五百一千八千是吧,哎,是这样。那么这个collection呢,它可以叫synchron list,这个方法变成线程安全的同时又可以调用的方法,对它进行排序,对它进行排序各位啊,但排序的前提是你list子集合里边存储的这个元素啊,得实现这个接口,如果不实现这个接口排不了啊,排不了。
08:04
那么现在假如说我在这里有个set集合,各位我有个set集合啊,你有一个哈希set,我现在想对set集合进行排序,怎么排?思考一下,就对一个set几个怎么排序呢?对set集合怎么排序呢?假如说我现在就有一个点对吧,啊king。是吧,哎,Set点嗯,比如说king soft是不是,哎set点哎,我再加一个啊,比如说叫做KING2啊点I呢,我再加一个叫KING1。那我加进去了,接下来我要对set进行排序,我可以调用collections的。方法吗?你看这个参数有要求,必须得是个什么list集合,看见没?必须得是个例子的集合。看见了吧,哎,So的方法,那么这块呢,能不能将S集合转换成例子的各位我们之前学过吧,通过构造方法是不是可以转呀,List string吧,My list是不是好new一个什么呀,List new这个release的时候呢,这个地方能不能跟一个S集合呀,这样的话S集合作为参数传进去变成list list在这排能不能排呀?可以for循环string s my list。
09:34
输出S来走一个。我们看一下这个执行结果啊,它有没有排序king king1king2king soft是不是升序排了没问题吧?哎,所以说这边你可以把set集合传进去啊,封装成一个list的集合,这样的话就可以排了,那有同老师我不愿意实现这个comparable接口,我能不能调另外的compar可以大家看collections是不是还有个方法叫salt,里边可以跟一个例子的集合,还可以跟个比较器啊。
10:00
对吧,第一个参数list集合对不对,还可以跟list集合集合啊,还可以跟什么呀,比较器对象这种方式也可以没问题啊,也能排序啊,这种方式也可以排。行了,那咱们今天就到这儿吧,各位啊,咱们这个集合这一块就算是结束了,下节课咱们讲IO流了啊,学IO了,学IO流了就是文件的读和写,就是读文件和写文件了啊整个这个集合这块就这些,你说集合这块的东西多不多,其实也还行,就是说这个这个叫什么,这个数据结构的时候就稍微麻烦一些啊,这个数据结构怎样,那个数据结构怎样,初始化容量是多少,扩容是扩多大,是不是这个集合底层是什么。对吧,这个集合底层是什么?这个集合是啥?这个集合是啥?它出出容量是怎样的。对吧,所以说这块的话,可能就数据结构稍微麻烦一些啊,但是方法不多,各位其实重点方法还是说你collection接口,List接口,以及你map接口里的方法有哪些,你先把首要的方法先掌握了。
11:06
行吧,掌握了方法之后,你再去搞一搞它集合底层的这个这个原理。对不对,哎,几个底层的原理啊,行吧,这个咱们就到这儿啊,今天咱们就到这儿,然后呢。嗯,一会儿我看看啊,给一个作业,然后这块呢,咱们下节课的话就主要就是看IO流了啊。行,休息吧。
我来说两句