00:00
在前面一节课呢,我们把。呃,Scan的集合的体系给大家做了一个介绍,那下面呢,我们来具体看一下scan的各个集合的一些用法,好,我们来看一下,首先呢,没有品是吧,好,我忘给了。好,首先给大家这个广播一下。看没看到是吧,好像是黑的,我停了一下。好,我再重新分享一下这个屏幕。现在看到了哈,OK。下边呢,我们就把SC里面的,就是常用的非常重要的一些这个集合给大家看一下,首先我们来看一下第一个叫定常数组,定常数组那么定长数组呢,呃,我们先简单的看一下Java是怎么做的哈,Java这块呢,我就直接看,诶这个不是Java了。
01:02
呃,这个这个就直接是我们的这个scan,没有说Java的。好,我们看第一种。那么在scanner里面定场数组呢?有这么几种定义方式,我们来分别说一下第一种。嗯,这种方式就是六后面呢,指定这一个泛型,这个泛型,然后呢,后边这个呢,就代表咱们指定的这个数组的大小,哎,默认当然每个元素呢,仍然是零。还有第二点,大家要知道在SC里面呢,数组的每个元素的访问是小括号而不是中括号,而不是括号,那么我们就把这个案例拿过来看一下就行了,非常的简单。好,那现在呢,我们就在这直接建一个文件叫。R,好吧,零一。把这个名称写好。有些代码比较简单呢,我就直接拿过来看一下就行了,大家看这里啊,这个代码就是创建说明一下,有些地方我还是简单说明一下,这段代码就是六了一个R,就是创建了一个R对象对吧?呃,后面这个地方大家可以看到就是。
02:21
这个地方有个中括号,里面写了个int表示,表示泛行即,即该数组,该数组中数组中只能存放,哎,只能存放什么呢?Inter类型,当然有同学说了,说老师假如我想让这个数组里面什么类型都能存放,可不可以?当然也是可以的,哎,那你可以这样写,如果你写的any。那表示什么呢?表示该数组,该数组哎该数组可以存放,存放任意类型对吧?哎,这就一下就实现了,那下面呢,这我用这个点认识打一下长度,这个长度呢,应该是等于几呢?等于几同学们应该等于几。
03:06
是不是等于四啊,是不是等于四啊,四就是四个元素嘛,那是表示四个元素,那下面这个地方应该输出多少呢?2010,大家觉得应该输出多少?哎,对了,所以说我在这呢,还要加第四句话,默认情况下呢,跟Java一样,默认均为零,哎在没有没有赋值的情况下情况下怎么样呢?就是各个元素各元素对吧,各个元素的值,哎,元数的值。V多少呢?等于零没问题,没问题,所以这个地方呢,应该输出一个零,好这一段代码呢,给大家演示了一下数组的便利,非常的简单啊,数组的变历,这个就是数组,数组的变历。A,遍历这个也很简单,就给家走一下就行了,数组遍历呢,就把它当成一个集合,直接遍历啊,直接遍历,那么这个地方我又演示了一下修改,注意在SKY数组的修改呢,也是通过下标来处理的,因为它是属于indexed sequence,所以说通过什么呢?下标这样来修改,写到五。
04:19
哎,同学们看这个地方就代表修改。虽然数组是不可变的,但是里面的内容各个元素的值是可以修改的,就表示表示修改,修改第几个元素呢?表示修改的是第四个元素,第四个元素的值。好,这就讲完了,我们来跑一下就行了啊,走一个。好,我们可以看到呢,这边跟我们想象的应该是一样的,输出一个四啊都为零。啊,等到我把这个三改了过后呢,最后这个元素及第四个元素就改成十了,代码就是完第一个我们就讲完了,啊非常简单,那么呃,我这里还写了叫反编译,我们来简简单看一下,它这个反编译过后,它的底层就是我们这个开底层,到底它是什么呢?告诉大家啊,这个地方的底层其实它也对应这个东西。
05:16
我们就说一次它的底层,呃,应该是这样写的。应该是怎么写呢?Int大概应该是这样写啊int。然后呢,R01等于六。In。呃,就是六了,呃,我们以前在Java里面,它这个数组也可以溜出来是吧。是可以溜出来的吗?可以六后面写的是什么呢?数据类型是吧。直接是什么呀,怎么写的。另一个int这样可以可以这样写吗。可以后面是是要写一个大小是吧,大概是这样写的对吧,长度好我们来看看底层它是跟我们想的是不一样的,我们打开反编译工具看一下就行了,就简单底层它应该是都是一样的,好打开哪里呢?打开我们这个,呃,C盘下边。
06:14
好,我们找一下,为什么没找到这去了啊,C盘用户adminrator里面有个ID,然后找到我们的0705TARGET class往下追追好到了十十里面呢,就是刚才我们写的。进去看一下。好,我们看到这个底层确实是大致相同的啊,大致相同的四因,因为我我这边应该是应该是四啊,我这怎么写个十啊,写错了四,因为我这写的是四嘛,好这个就完事了。好,同学们,我们把这个呢给大家简单板述一下,第一个就过了,第一种方式啊,非常的简单。好,那么刚才我们讲的是什么内容呢?我们首先给大家讲的是定长数组的第一种方式。
07:01
定长数组的第一种方式说完了。好标题。那刚才我们说了一下第一种方式的一个使用和基本的案例。给他放到这儿。第一种方式对吧,然后呢,这有一个代码说明啊,代码演示,代码演示来一个标题三,我直接把刚才写的这段代码呢给大家。板书一下。放这完事了,第一个就说完了啊,这里这里再强调一下底层就是底层其实仍然是对跟我们Java是一致的,对吧,说没有什么新鲜的东西,只是他做了一个包裹。啊,把它把我们这个包装了一下而已。好,第一种方式就说完了。那么我们来看第二种方式,这第二种方式呢,我简单说一说就行了,就是有些时候呢,你也可以看到人家在创建一个数组的时候,直接就指定这个数组的这个这个内容啊,它可以这样指定,那么你这样指定以后,你这个数组的类型呢,跟你这里面的数据类型就相关了,比如说你再去用。
08:15
二直接创减底层,它可能用的是apply方法,这个以前我们讲过,那如果用这个方法里面,如果它有有整数,又有字符串,那么R01呢,自然它对应的泛型就是N,如果你这初始化的时候给的全是整数,它对应的泛型呢就是int,这点我要强调一下,好,第二种方式,我们直接也把这个代码拿过来,非常简单,就不写了。好,这是我们的第二个案例,我也给大家阐述一下R。DEMO02,好。然后呢,我直接给大家放到这里来。好,我我重点就是说一下这个地方是什么意思,这这个代码我做一点说明,第一点呢,这里使用的是什么呢?R。
09:04
其实用的是object里面的二。这个object的apply方法,这个要看懂。啊,要看懂这是第一点,第二点呢,我们要知道,这里相当于说直接初始化我们的这个数据啊,直接就初始化了,初始化。初始化这个数组,而且你这个数组类型呢,根据你初始化的数据是有关系的啊,这时。这是因为。因为你给了这个整数。和字符串,那么这个类型就变成了这个数组的泛型,就是A。就是any,就是你后面还可以写别的,那么我们来看是不是这样子的啊,首先打开它看一下,可以看到里面就是any。对,那么如果你给的全部是整数,注意听全部是整数,那么它对应的就是特尔。
10:03
那你知道这个初始化完了过后以后你只能放映的了,说老师我后面能不能再加不行了,比如你你要改也改不了,比如你这样做了过后,你说诶,假如我这样写,我把这个一,我要给它改成字符串,这个是不行的。这个类型一定不匹配啊,这个地方写错了啊。这样写。啊报错,但是你刚才如果给的是这个类型就OK,因为他在他在这个地方编译器就把它的泛型定下来了。对,所以说你要改后面没有机会了,注意听这个细节好,其他的呢就不再多说,其他便利都是一样的,便利都一样,便利方式,便利方式一样。好同学们,这个我们就过了运行一下就可以了,好跑一下,那么我们跑一下过后呢,我们发现这个代码就没有任何问题跑起来了啊啊,因为我这把它改成一个一了嘛。好,那讲到这呢,我们再说一个便利方式,有些同学呢,可能会觉得说老师你这种便利方式之外,我们能不能用长度来便利呢。
11:09
就说我用下标的方式来便利,因为有些同学呢,喜欢这样子说,说的是你这个便利方式虽然很好,但是我们更习惯于我们传统的便利方式,都是以前你们便利数数是for I等于零,I小于那个嘛,有些时候还确实要用到这个程度的问题,那这个时候我们也可以便利,那我再补一个。也可以使用,可以使用我们以前传统的就是Java中传统方式。传统的方式便利怎么便利,就是说使用这个下标的方式,下标的方式便利也可以,那这个时候怎么写呢?也very easy,那相当于你把这个index索引先拿到。怎么变呢?轴零,To r点认,这个大家能理解吧,而且我这写错了,大家知道我哪错了吗?应该怎么样减一,如果你要你要不减一,是不是前面写个NT2也行,哎,这个就看就看你的这个写法,这个大家一定要要清晰的知道,如果你写to,那这边减一,如果你你要不想减一,前面就写on until,那这个时候我们也可以这样访问。
12:17
怎么喜欢呢?202。好,然后呢,我们这来个百分D,我们格式化一下也是可以的,哎,然后呢,这边我们这样这个值就不好写了啊,那我们就直接这样子,呃,就就先这样子分D啊,后面这个类型它的类型不好走,我们先这样子,那先简单这样写一下就行了,百分D到一个逗号啊逗号把这个index先放进去,再来一个逗号。好,再来个拼一下也行,然后它的值就直接写到哪里呢,RR。零二然括起来index。
13:00
啊,这样子也可以啊,这样也可以好,那为了好看呢,后边我再来一个这个斜杠啊斜杠T。好,写个题,我们来运行一下,看看这个能不能跑起来啊,看这样子能不能跑起来。啊,跑步起来,我再改一改。好看一下啊,是这个值没取出来是吧。哪少了一个什么东西。哦,那这个地方我们这儿应该格式化什么呢。白发S可以不行吧?这样应该可能不行。哎,那就相当于他这样输出的时候,他把这个你给你转成一个字符串输出了是吧,如果从只是从演示的效果来说呢,也还也还可以啊,也还可以,因为你在真正用的时候,肯定要把这个类型带进去嘛,对吧,这个是这个是因为我这改了啊,这改了也也能看到效果啊,看到这个效果就可以了啊,当然你在正使用的时候,这个类型要参与进去就行,相当于说我在输出的时候,即使你是一个in特,我给你转成一个肉串可以的啊,从效果来说还是可以看到的。
14:11
好,这个呢,我们就就就到此啊,到此这个是我们的第二种方式,老师就给大家说完了,诶好,我把这个第二种方式呢,也给大家阐述一下。第二个方式。第二种方式,OK。那么这边呢,我们有一段代码,诶第一种方式的代码哦,这个地方还不能这样写啊,因为这个代码跟它是相关的,那我这样把这个格式重新重新整理一下啊,这个是说明。啊,这个是说明这个是代码演示,我稍微的改一下。哎。所以说我这个文档呢,比较好,就是可以随意的修改它的一个层级关系。第二个模式,这做一个说明。啊,说明。啊,说明。
15:00
说明这个地方呢,来一个这个箭头好代码呢,给大家展示到这里来。好,代码如下。代码。代码。影视。那么我把代码呢给大家阐述一下刚才写的这段代码。放到我们的笔记中去插入。好哦。好,那么这一块呢,就是说了一下,是看到定长数组的一个使用截取段视频。
我来说两句