00:01
啊,下午呢,我们继续接着上午的内容哈,继续来给大家讲解,好把笔记打开一下,好我们看一下。又又不行了,这个。喂喂喂。喂喂喂喂。喂喂喂喂。好啊,看一下。好,上午呢,我们讲到数据结构的,呃迭代器,诶迭代器我们把这个说一下,那迭代器完了过后呢,我们来简单说一下这个流哈,呃流是什么呢?呃流听这个名字啊,就是数据像流水一样圆圆。啊,无穷它什么呢?String是一个集合,它也是个集合,那么这个集合呢,它用于存放无穷多个元素啊,但是这个无穷多个元素呢,并不会一次性的呃生产出来,也就是说当你需要的时候呢,它就会给你产生一个呃需要的数据,而且呃产生的这个数据呢,你事先可以规定一个规则啊,那这这个有点类似于像这个末尾元素遵守lazy的规则,就是懒加载或者惰性。
01:21
啊,那么我们来看一个小案例就行了,这个呢,呃,看一个案例来演示一下,比如说我这里有一段代码。好,来看这里啊,这里我写了一个number form啊number number form那个有一个函数,这个函数呢,会产生一个stream。这个流对象里面放的是什么呢?放的是big int,那产生的规则是什么呢?就是N加一啊,就是一次增加一个。那我这做了一个说明,是最集合对象方的数据类型是。啊,Number from这个是自定义的函数,函数名呢,是由我们自己写的,就是这个函数啊,是你自己来确定的。
02:03
那么创建集合的第一个元素是N。啊,就是你先传一个数进去,是多少就是多少,后续元素产生的规则是N加一,这个规则你自己可以自己确定。啊,就是为了让我们这个流量可以在使用的时候自动的产生一个末尾的元素。后续元素生成的规则N加一是可以变化的,比如说我这写个N乘以四也是可以的啊,反正根据你的规则吧,这是一个流的基本介绍,那么我们来简单的用一下这个流啊,简单的用一下这个流,我这写了一段代码,也非常简单,就是第一次呢,我给他传了一个一。啊,传一个一,我输出这个瘤长什么样子,然后呢,我取出这个流的第一个元素,然后呢,我用tell取出它的尾部啊后面的元素,最后我再输输入一下这个流长什么样子就行了,那么在使用流集合的时候呢,有一个属性不能用,就是last。
03:04
如果你用那时的元素呢,你会进入到一个无限循环,因为那时的取的时候,它会取最后一个,它会自动的触发我们这一个函数,因此就是形成无限循环。好,那么我们简单看一下这个流吧,啊,这个流呢,就是了解一下吧。找一个案例。叫string。20DEMO01。2STRING01给他来一个object对吧,走一个。那么我把代码往这一放好,同学们简单看一下啊,我们第一次这个产生过后呢,我们这个流它是个集合嘛,说第一次产生的就是一,后面呢,应该它是点点好,它会输出就是。不知道后面还有什么数,因为离子放了一个好,当我取出第一个元素呢,这关就会取出一个一,那T呢,就是取T的时候呢,取到尾部它会自动再次出发。啊,这个时候呢,它会产生一个新的啊,新的一个元素就是根据N加一产生的,那就是二啊,然后我们又取出过后呢,我们可以看到stream,因为你取了一次过后就就变一二啊,然后点点啊大致应该是这样子一个流程,好,我们来运行一下就可以了,来看一下啊来运行。
04:20
来运行好,运行过后呢,我们来看这个结果啊,看一下结果好,这个结果呢,跟我们想的应该是一样的啊,这儿不是它是打的问号好第一次哎,一问号不知道后面还有多少氦的呢,就是取出它的头元素,就取出一个,一再取太阳呢,它会自动的,呃,他说你要取后面的,它会自动的按照你的规则产生一个。二就是因为你这是N加一嘛,就它前面前面的元素是一,于是乎呢,它就产生一个二,因为你写的N加一,然后再输入这个STRING1的时候呢,就就多了一个元素啊,这就是流的一个基本使用,那么基本使用完了过呢,我们再来看一个案例,看一个应用案例,好吧,应用案例。
05:04
好,我们来看一下它的应用案例,简单的看一下,我这里写了一段代码,简单的测试了一下流的一个应用,就这样子的,还是这段代码,但是呢,我这里写一个beautiful play这个地方呢,我故意写了个X乘以X,就是让它呃相乘,相乘过后呢,同学看,因为它产生的这个是一个是一个集合。啊,如果说我们这地方这个集合是多个,你用map的话呢,它也会产生多个,如果你这只有一个,产生的也只有一个,那大看我这个地方相当于产生了一个流。那这个流里面呢,只有一个元素就是五对吧,然后呢,你用map对这个流进行了一个映射操作,怎么映射的呢?它会把你这个流里面的所有数据,那我就现在目前只有一个啊,那就取出来,就是把这个五取出来,再乘以一个二返回这个地方,应该返回的是25。啊就是呃,试一下就行了啊25,然后一个逗号后面应该是个问号。
06:05
好,我们来简单的用一下,好简单用一下,我把这个写到这来。啊,简单看一下它的使用。好啊,那么这我写了一个函数,它相乘并返回,返回过呢,我们刚才分析出来这个地方应该是25。一然后呢,一个问号好,运行一下就可以了。好,我们执行把,我们看到这个结果呢,跟我们想的应该是一样的。啊,对的,那如果说这个硫它是多个,你map呢,它一样也会产生啊,这个把硫的所有的元素都会进行一个相乘,再返回一个新的流对象,好好知道这个就可以了,好,那么硫呢,我们就先简单的说到这里啊,一个呢了解一下啊,好给大家反述一下,这是例物。往下来走一个。好,上午呢,我们讲到这儿,我们继续来说流。
07:01
A,标题二,我们对硫进行了一个简单的说明,对吧?我们说硫是什么呢?就是呃,别人问到的话,你要答上来,硫它的主要作用是产生无穷多个数据啊,它是可以存放无穷多的一个数据的一一种集合啊,然后然后它这个产生集合的时候呢,它会这样做啊,它会末尾元素遵守一个lazy的规原规则,就是当你需要的时候我才会产生,不需要那我就不给你产生。比较啊比较智能,然后呢,下边呢,有一个产生流对象的一个说明,我也简单的拿到这里来。哎,那么这个流是怎么做的呢?诶,创建流对象,诶这个不是我们的标题三啊,第一个呢,写了一个小案例啊,这小案例这个地方大家能看懂啊,它的规则,它的产生的规则是N加一,当然如果你写成别的规则,就会按照你的规则来产生,不停的给你产生出来新的数据,那这个呢,是在我们做一些测试,比如说将来我们要测试一个大数据,自动生成一些数据的时候呢,可以用这个流来设计我们的案例。
08:09
好,给大家写到这里,那我这儿一共总结了有这么四点,对吧,第一点呢,说流啊,针对上面我们做了一些简单的解释。好,说完这个以后呢,我们写了一个应用案例来看一下啊流的啊流的应用案例。啊,应用案例,那么这里呢,我就写了一段代码,让大家体验了一下啊,它的这个这个使用好吧。好硫我们就说到这里啊,硫这边要注意看一个特点啊,就说使用T的时候呢,它就会产生新的元素,如果你不使用,那当然不会产生,好我把这个呢给大家放到这里来。好,插入一个小表格,好,这个地方我写一句话写到这吧。写到这里,写到这里,当当哎当干什么呢?当对一个流流执行啊T操作时,操作时就会啊就会就会生成生成一个新的新的数据。
09:15
啊,就会生成一个新的数据,好大家知道这个就行了,那下面呢,我们这个流就先介绍到这里。
我来说两句