00:00
来我们看下这个第三波啊,这个叫收集,诶收集顾名思义就是我们这个涉及到一个集合了,然后呢,你经过这个像映射呀等等这样一些操作以后啊,可能得到这个数据还很多,现在收集呢,就给它,如果有多个数据哎,可以一个容器呢去重装一下,比如说呢,List呀,S呀等等啊这呢就是一个收集的一个意思啊来我们直接拿来测试CTRLC。那这样。哎,TEST4。行,那收集我们看下这里边这个方法,这个呢叫collect方法,翻译过来其实就是收集的意思,Collect的话呢,里边需要写一个叫collector啊,Collector就是收集的这个人是吧,就这or结尾的一般是动词的这个什么什么者哈啊这呢就需要传入一个叫collector说这个or接口中的方法呢,实现决定了对流中的,呃,对流执行收集的操作,比如呢,你这块呢,是想给它收集到一个list里啊,是一个set里啊,还是叫一个map里啊,哎,都取决于我们这个参数了。
01:08
那这个collector要想提供它的一个实例,哎,我们说呢,诶提供了另外一个结构叫collectors。哎,这样的一个结构,这个类的话呢,有很多静态的方法,哎,我们调它的方法就能够返回一个collector啊,这样就可以了啊,哎,终于可以不用去使用函RL接口这块拉姆拉表达式了,是吧?哎,这个呢我们就比较熟悉了啊,那现在呢,我们去调一下这个方法,还是这个意思啊,Ctrl a ctrl c,把下面我们这个需求呢拿过来粘过来。行,我们看这样的一个问题啊,说这块呢,我们需要做什么事呢?说查找工资大于6000的员工,诶把这个员工呢,结果返回一个list,或者说呢,你再演示一下如何返回成一个set,哎这样的一个情况啊成那我们先把它放到一个list当中,哎首先呢,我们通过这个叫employee data点哎,Get employees哎,拿到我们这个list。
02:04
行,然后这个list子呢,我们先调一下这个string方法,那接着呢,我们需要做一个过滤,查找工资大于6000的啊,Filter一下啊,Filter这块呢,就是你具体这个员工了啊,然后呢,哎,这个是predictdicate啊,1.get一下salary,对,大于6000就行啊,这样的话呢,我们得到的还是一个员工构成的一个stream啊嗯,接下来我们不想要这个stream,我想让他要它对应的那个集合了,哎,我们这时候呢,就调一下这个叫collect啊调它,调它呢,我们里边呢需要传一个叫collect一个接口,哎,咱们呢,需要用它的一个带S的这样一个类。哎,Collectors哎,调它的一个静态方法叫toist,哎,自然而然就能够帮我们把这个数据呢,转化成是一个list,所以这个位置我们就诶collectors。哎,第二啊,叫to list to list这样就可以了,哎,To list完以后,我们直接al enter一下,返回的就是一个list。
03:09
哎,我们教他了啊,行,拿到我们这个employee list以后,那咱们用一下这个employee list,点它自己的这个for each方法。这么着?来咱们看一下,是不是这个结果当中工资呢,都大于6000哟,点错了啊。行这呢,哎,工资都大于6000。行,这呢就是我们说的这个查找这个问题啊,现在呢,它返回的是一个list啊,返回是个list,那如果说你需要的是一个set的话呢,也可以啊,那咱们下边接着来写,呃,其实这块呢比较简单,就我们把呃这个事呢CTRLC或CTRLV一下啊这个事呢,你可以就不用了啊呃,直接呢还是拿着它去掉这块我们返回的不是这个结构了,哎,去掉现在呢,我想给它to一个set,哎,你就调to set就可以了,然后在这al enter一下。
04:07
那得到的就是一个set。哎,那set呢,我们把这个set ctrl c,哎也做一个for each for each呢,我们看到它是定义在我们这个叫。啊,这个我们定义到这儿了啊,哎,我们那会儿点的时候呢,这个for each这个。在哪在这了啊,呃,这呢是一个set,呃,这是一个set,像这个我们for是点过来,呃是定义在了当中的,嗯,那对于我们这个,呃,Set也好,List也好,它都呢实现了collection collection呢又实现了orable,所以说呢,它们俩里边呢,都有这个for each的方法啊。成,那我们执行。哎,这个能怼起了,在这呢,来一个换行啊。好,这个数据呢就出来了,那这呢1246啊,其实按照我们添加的顺序来的,这块呢,看顺序稍微有点换了,那1264了成了啊这有一个set,那我们也不去研究说为什么是一个这样的顺序啊,Set呢本身就无序嘛,嗯,这是我们说的这两个情况,然后呢,还有一个啊还有一个的话呢,这个叫to,可以to list,可以to set,也可以to collection,那to collection呢,就相当于没有说到底是一个list还是一个set。
05:22
啊,那当然呢,你这块呢,传的时候呢,可以呢,就是给它传承,还是一个list的去装还是可以的啊那这个呢,我就不演示了,那正常来讲的话呢,像集合呢,咱们主要的呃,有序就用它,无序就用它,这是对于单个元素来讲啊,就是用这两个元,哎这两个结构去盛装啊就可以了啊行,剩下呢,还涉及到一些这个结构,咱们就不去测了啊哎,就把刚才这两个为代表呢,给大家做一个演示就行,这呢是一个收集啊这样一个操作。
我来说两句