00:01
好,同学们看一下我们这个下面的内容哈,我们上午呢,把历史的创建说完了,我们现在来看一下历史的一个小结,就是刚才这个应用案例的小结啊,首先看list默认为不可变集合对吧?啊list scan在包对象生命的,因此不需要引入其他包,然后呢,引入的是这个包啊,引入他是在他包对象里面做了一个声明。而list中可以放任何数据,注意list这里面呢,呃,它可以放任何数据,这样子呢,它的类型就变成any了,比如说我们上午的这一个案例啊,上午这个案例我们其实是呃,除了放整数之外呢,也可以同时放入字符串或者是其他的数据类型看一下。好啊,让他先启动啊,让他先启动。
01:03
好,我们来看看上午的那个案例,他是怎么写的。好不在这里啊,对不在这里,在这个地方写的代码。好,我们看一下上午写的这个代码在哪里啊SC,然后呢,幺零里边我们写的这个list。在哪呢?在这个历史的DEMO,诶对你看这里啊,我们上午呢,给的是全是整数,那其实呢,你也可以同时混入其他的数据类型,比如说哈。啊,这是可以的,那么一旦你这样写了过后呢,我们这个LIST10呢,诶你看它的泛型这边就是any了,就是把这个说一下。然后呢,第五一个同学们看一下啊,如果希望得到一个空的list列表,那么用near near这个对象就可以了,同样near对象呢,在我们包对象也做了一个声明,因此呢,直接使用好,这是上次这个案例的一个小结,我们就先说到这里往下走。
02:12
创建list的一个案例的小结。啊,我们分别讲了这么几点,第一点对吧,默认。好,然后它所在的包对list可以放任何的数据类型。第三一个啊,如果我们希望得到一个空的列表呢,咱们直接用列对象就可以了,原因就是因为这他做了一个声明。好,现在呢,我们继续往下面看咱们要讲的这个课程啊,下面呢,我们来看一下如何访问历史的元素啊,访问历史元素直接用这个圆括号访问,就跟我们访问一个呃,数组是一样的。因为我们讲过list它是属于序列的,对,它是属于序列的,因此呢,我们直接拿来用就可以了,好,那么怎么访问写一个小案例,打开这里就在这写啊,同学们访问访问list的元素。
03:11
啊,访问历史元素就这么就OK了啊,前面这个有历史的一好,我们可以看到这里面呢,有一个问题是这名称咱没写对对吧,好,我们输出一下这个值。输出一下这个值,VALUE1等于加,但这个值呢,不用咱们去想就知道返回是2A,因为它这个,所以呢是从零开始的,因此这个返回是二,好,这个呢,我们就说完了,就是列表中如何访问元素。好,给大家整理到我们的笔记中去,这是第二一个好,把案例拿过来就行了。啊,非常的简单。我把这一节代码呢给大家板书到这里。好,访问历史的元素咱们就说完了,接着继续往下看。
04:01
啊,下面呢,我们来看一下,就是元素的追加,这是一个同学们会使用到的地方,那么历史的元素来追加,同学们可能会觉得比较奇怪啊,为什么呢?因为因为我在刚开始已经讲过,我们历史的事不可变集合,那你凭什么能追加呢?注意听啊,在这里看到这样一句话,在向列表中增加元素,指的是会返回一个新的列表。也就是说你追加完了过后呢,这个历史的追加完了过后,他的这个原先的历史的并没有发生变化。只是返回的一个新的列表,因此呢,仍然没有破坏list是不可变的这个特性,那么我们在追加的形式呢?有两种形式,第一种形式在列表的最后增加数据,那么写法呢?注意看到它的写法是冒号加。那怎怎么记忆这个东西呢?你永远记住冒号对应的这一边是集合加号这边是具体的元素就可以了,这个就代表在历史的后面加,因为它是有序的,因此呢,这个在后面加,它是放在我们历史的元素的屁股后边。
05:14
啊,反过来我们能不能在列表的最前面加了也可以,那你把这个前面这个符号换一个方向写,原先是这样写的。对,那现在变成什么加冒号,那加冒号这样呢,就是元素写在前边,List写在后边,反正大家永远记住这个,不管这个符号怎么变化啊,这个加也加冒号等,呃,加冒号也好,还是冒号加也好,永远记住冒号这一头是。我们的集合加号这一头是我们的元素就可以了。好的,这个地方呢,也体现出我们历的是有序的集合的一种特质,好,同学们,那么我就不啰嗦了,我们直接把这个代码拿过来用一下就行了,都比较简单,没有什么太多想说的啊,注意把它细节搂一下就行了。
06:07
好,现在我们研究是追加数据。给给啊,就是就是追加添加数据啊,就是通过通过这种指令和啊这个指令。干什么呢?追加数据,给这个list追加数据。啊啊,追加。追加数据或追加元素,但是呢,这边有个细节啊,就是本身的本身的这个集合并没有发生变化。本身的集合并没有变化,没有变化。好,那么我们来把刚才这个案例拿过来用一下就行了,非常的简单,那么看这写了一个list的,呃,一,这里面呢,有123ABC对吧?那现在呢,我这做了一个动作,这个动作就是呃,像历史的历史的列表的,呃,最后加了一个四,那这样加完以后,我们的历史的集合数据呢,就变成了123。
07:12
ABC最后加了一个四啊,就这么简单,那么为了证明刚才我的观点呢,就是我把这个LIST1输出来了,又把list史的二输出来了,诶,所我们会发现历史的一没有任何的变化,它仍然是原先的这个集合,所以说并没有,并没有破坏历史的是不可变的特色啊,这里说明什么呢?说明历史的一还是不可变的,不可变的啊。不可变啊,如果从底层来看,他一定是仅仅是把这个数据呃拿出来拷贝了一份,拷贝他把这个历史的一的数据拿出来,再加了一个四拷贝了一份,返回给新的一个集合,应该是这样处理的啊,这个呢,它一定是个符号重载啊,所以说我们点的话呢,应该可以可以看到它确实承载了一个指令。
08:05
啊,其实这个就是一个符号的重改,后面会会专门讲这个东西,好咱们就把这个说完了,那么我们来运行一下,好同学们,呃,为了让大家看到效果呢,我在这输出一句话,啊,同学们。简单一点。我们这儿写一个叫追加数据。追加历给历史的,追加元素后的使用效果最佳元素后的这个呃效果。好,同学们,我们运行一下走一个。运行,我们看运行的结果跟我们想的是不是一样的。好,我们运行完了过呢,我们看看结果是不是跟我们想的一样的。好看,输出果然跟我们想的一样,首先list的一没有任何变化,123ABC。
09:00
对,在他屁股后面呢,加了一个四,对,这个呢,就是我们所说的第一个在呃列表的最后增加数据,那反过来在前面加数据呢,也非常的简单,我们再写案例v list3。等于我就在这个历史的一的基础上来来玩啊,比如说我在前面加了个十,呃,然后呢,加等历史的一。好,嗯,这个时候,呃,因为历史的意义没有变化,所以说它其实还是在这个基础上。的最前面加了一个是多少呢十。好,List史的三应该变成这个样子了,我们执行一下,List史的三等于加一个LIST3。运行一下,同学们运行一下。好运行下,那么当我们运行完了之后,我们看到这个结果跟我们想的也是一样的,好到此呢,就是这两种追加形式,大家看看啊,就很好理解了,好我把这个呢也给大家快速的描述一下。
10:04
这是讲的追加。来写一个标题二。好,标题二,然后呃,我们刚在这边讲的是什么呢?诶讲的就是这个基本介绍和它两种,呃,添加数据的形式。好,第一种讲了一个基本介绍,对,然后呢,呃有两种形式来追加,第一种呢是在呃元素的最后加,第二种是在元素的最前面加。好,这两组呢,把代码咱们合在一起,好,代码如下,代码如下。好,直接把代码给大家拿过来就行了,就这段代码。好了。好,这个是我们讲的追加元素,哎,追加元素得到新的历史的一种操作方式,那现在呢,我们继续往下面看。历史的追加的第三种形式也比较有意思,它是怎么样子的呢?它是在列表的最后增加数据,还是在列表最后追加数据,但是呢,它的形式是这样子的啊,两个冒号。
11:15
那两个冒号,它是表示向集合中添加集合中的元素。哎,那这么这个怎么理解呢?大家看我直接上案例啊。看这个案例。直接上这个案例,这个案例呢,我们来看一下它是什么特色。好,这个符号的使用,符号的使用,因为你后后面这个用的比较多,好看代码看代码。好同学们看到现在呢,我这有一个LIST1啊,LIST1那上面已经定义过了,那我就只能改个名字了啊,有是吧。啊,改成四啊,这边我们再来改一下这句话,大家能看到我这定义了一个LIST4,然后呢,呃,有一个数组,好,然后我把这个改成四。
12:04
也把这个改成四,那这句话下面这句话什么意思呢?我做一个说明。第一句,同学们看这里,这是一个空集合。啊,你好,我们前面讲过它是一个空集合,那么这种操作它表示什么意思呢?它代表就是把这后面的这个元素依次的放到这个空的集合里边去。啊,放到空的集合里边去,那简单的讲就是这个意思,它的操作的步骤是这样子的啊,啊说明这个下面这个指令的操作步骤。而它的步骤它是这样做的,很简单,第一步,首先这有一个空的list。这个大家应该能看出来,这是空的,然后呢,第二步。第二步,他在你这个空的list里面,把这个LIST4。放进去。
13:01
啊,把这个历史的四放进去啊,那么一旦放进去,我们可以看到这个结果啊,我们先,诶对,我们先把这个结果给他看一下。等于加,我们先看看这个LIST5等于什么,大家就一目了然了,我们执行一下LIST5。好,我们看这个结果是什么样子的,看变成这个样子的,这就说明其实它是把这个历史的,你玩风不动的放在这个空集合里面,也就说历史的集合里面可以再有历史的。因为我以前讲过嘛,就是说list它里面是可以N利类型的。那list的本身,那就是任何类型都可以换,所以说它相当于说把这个list的释放进去,换言之就是这样子,第二步是这样做的。第三步又怎么做呢?第三步在这个基础上把六放进去,而且它执行的顺序是从右向左,从左向右往里面加,所以说这个做完了以后呢,他会把这个六又放到这里面去。
14:00
啊啊,他整个这个操作的过程是这样子啊。啊,把这个,然后呢,这个他在执行的顺序是这样子,但是操作的过程呢,是这样子的。王林不停地累积。哦。王林不停地。好,它是这么一个流程,好,所以说讲到这儿呢,大家应该第四步对吧,第四一步骤相当于说在原先这个基础上又把五加进去了,怎么样呢,五逗号。好到了第下一步呢,第五一步就相当于是在这个基础上又把我们的四放进去了,它就是这么一个操作流程。啊,非常简单,就这么一个操作流程,好,这是冒号符号的使用,我这里就说完了,好,所以说我这写了一句话,运算规则,从右向左。啊,右从右向左,刚才不是讲了吗?从右向左还有一种符号呢,也要给大家讲一下,就是三个冒号,那三个冒号什么意思呢?运算符将元素中的每一个元素加入到空集合中,那我还是以这个为例进行再次说明,还有这个为例。
15:10
V历史的六。然后呢,前面这个完全一样,我只想把后面这个改成三个冒号。那这个地方的执行顺序又是怎么样子的呢?来吧,把这个拿过来说一下它的步骤。哎,它的步骤,它的步骤前面完全都是相同的,我把这个拿过来,第一步是没问题的。第一步没问题,第一步仍然是先有一个空的list集合,第二步发生变化了。第二步,它不是把这个list史的是整体放进去,而是把历史的式里面的所有的元素拿出来再放进去,也就是说先把它扁平化。再放,那换言之就是这个历史的是里面放的是什么呢?直接放的是。
16:03
这个东西。这个原先是历史的四的呃集合,但是他把每个集合打散再放进去。好,到了下面这一步,我就不用多说,大家应该知道怎么流程了,就是历史的,是把六再放进去。啊,其其他都一样的啊,然后第四一步,在这个基础上把五再放进去,第五一步。第五一步,在这个基础上把四再放进去,所以说最后这个结果呢,就是456123ABC,好,我把这个历史的六也给同学们输出来。完事了。好,同学们,请看执行的效果。好,这个执行效果呢,跟我们想的应该也是完全一样的,好,建议大家看一下它的特色,好,那现在呢,呃,这个地方我们就说完了,我把这个呢也给同学们板述一下啊,非常的简单。
17:02
非常简单,这个没有什么难度,也就是告诉大家有这么一个啊,是这么用的就可以了。好,这是我们的第三一个啊,又一种加入的方式,这呢我们做了一点说明。哎,这做了说明,我说了一下它的具体使用,第一种。啊,运算的时候有一个前提,集合对象一定要放置在最右面。为什么要放在最右面呢?因为它执行的是从右开始走的。如果我们把一个数据放往里集合里面放没问题,你如果最右面放的是个数,那就放不进去了,也就是说我们可以把ABC,我们把一个数放到一个集合中是成立的,但是你不能把一个数放进去,也就是说不能这样写。你这个地方假如啊,这里后面这个地方说了,说把这个换成一个具体的六就体一个九,这个肯定过不去的,因为你这样解的,现在把历史的放在这个酒里面去说不过去。我们可以把一个人装在一个,我们可以把一个人装在一个房间里面,但是我们不能把一个房间装在一个人里面去,对吧?这个道理大家应该是能够听懂的,好,所以说这是我们说的第二个需要注意运算规则是从右向左,还有一个符号。
18:17
这个符号是将集合中的每一个元素加入到一个集合中去,当然这个也不一定是空集合啊,如果是一个应该是放,放到一个集合中就行了,把这个空拿掉啊,把这个空拿掉。好,这是我们说的,记住最后有个应用案例给同学们板书到这里了就完事了。应用案例在哪里呢?就是刚才我写的这一段代码。好,流程我们也说的比较清晰。好,同学们,我把这一段代码呢给大家板书到这里,完事了。I。好,那么这完事以后呢,我们来做几个题,看看同学们能不能做出来,请大家先看一分钟。看一分钟,待会儿我请同学回答啊。
19:01
那我随机的找一位同学来看看这个结果分别是什么,好吧,那现在呢,我找一位同学,咱们找一个究竟原则哈,找一个刘波同学来回答一下来,小刘说这个题会会说什么呢?哦,OK,那就是456456啊123。好,然后是ABC对吧,这个是可以的,那第二个题呢。汇报错,为什么错呢?啊,这个后面这个必须是集合是吧,所以说他说这个地方直接错误啊,语法错误正确好这个呢。456123。啊,这个地方有有没有,呃,其他想法这个。就这个地方是。这个这个地方是把list交到这里去是吧。好这个地方,呃,那你先把你答案说一下再说吧,说4456是吧,456,然后呢。
20:08
123是吧。123ABC是这样子的吗?是这个意思吧,好,那这样子啊,我们来看看,呃,刘波同学,这段代码O不OK,好,我们先把它运行一下EXERCC,好,零一对零一,我们把它放到这里来测一下。好,我们写一个总函数往这一放。好,我们来发现这已然报错了。啊,这把引燃报错的原因大家可以看到在哪里呢?在这里,因为这个三个冒号,我原先讲过,它是指的把它左边的集合打散放到这面去是吧,所以说这个地方就意味着这个符号呢,两头都必须为什么呀,集合哎这个就错误的啊这方你如果是个集合,比如说我这写个LIST1啊,你看这个语法就够了。
21:04
所以我把相当于说我把这里面东西打散,放到空气后,再把一四一再再打散,再放进去,这个道理好,这个题呢啊有有点小问题就是错误的,好,紧接着我们看第第四一个题呢。第四个你看看有什么问题没有。这个行吗?对,没问题。啊,这个没问题,是不是就是刚才你说的那个那个那个答案吗,还是怎么样来看。2451。二三。ABC。就完了吗?至少还有一次吧,哎,再有一次123ABC对吧?好,请坐下,请坐下好,这个呢应该是正确的,哎,这个应该是,所以说我们这边有一个小考点,就是这个地方一定要注意两头哈,两头好,其他的就不用多说了啊,其他句子学了,我把这个答案也说出来,这个是要报错了。好,这个是要报错的,刚才我们已经说到的啊,这个是错误,错误的原因就是呃,错误错误的原因就是这个冒号的左右两边啊,左右左右左边啊,左右左右边均为啊,为什么呢?集合即可。
22:14
OK,好的同学们,那这个地方我们说完了啊,说完了非常简单,好同学们,我们把我们把这个list的板书,把它内容呢,把它板书一下。那刚才我们已经讲到了他历史的,呃,加入的方式三种三种。对这个我们阐述过了,那下面呢,还有这个课堂练习题,给大家放进去课堂练习。好,课堂练习来给大家放到这里来,我们做了一点小练习,对吧,也很简单。然后呢,我把这个练习题呢,就快速的给大家剪辑过来。对,剪辑过来呢,我们的这个答案第一个是这样子的,第二个是错误啊,第三个也是错误,原因是这个,第四一个是这个结果。
23:05
好,同学们把它放到这边来。好,同学们,关于历史的,我们就讲解这些。
我来说两句