00:00
指定的数据啊。删除指定数据,然后呢,在这里边我们直接it.di.dis card就可以了,我删谁呢?我也删Java啊,我也删Java,那么很多学民说这到底和上面有什么不一样的呢?诶,你别说,到目前为止大家还真看不出来有什么不一样的地方,右键阅写一遍呗。你也会发现他确实也是这号被删掉了,看见没有很多说那是不是返回值不一样,那倒表不是啊,返回值也是闹啊,它的返回值跟上面也是一样的,没有。来右键运行一遍,大家来看。是不法,这件事呢,那很多学说我看不出之间的区别呀,好,它的区别在于什么呢?如果数据不存在怎么办?比如说我要删的是一个javascript。那大家都知道在集合中本身是没有Java script这个数据的,是不是,那我要删除它的discard的结果来运行点,你会发现discard什么都没有删除,但是也是返回一个,那对不对,是不是也就说没有数据的时候它不删而已,这个数据不存在,它不删也不会报错。
01:05
而如果说我们来看一下另外一个函数,什么函数呢?把这个注释一下啊。这块注释一下,我们来看一下上面刚刚学的这个remove。如果remove删除的是一个cva script,那扎它的这个里是不是也没有的,右键运行一次你再看。看到没有,它会报错。所以remove和discard有一个最大的区别就在于数据不存在的时候会怎么办?数据不存在会报错啊,数据不存在会报错。会报错啊,而对于我们这个disc而言,数据不存在,不进型操作就可以了,它并不会报错,所以这也是discard和remote函数最根本的一个区别。当然很多学民会说,哎呀,这是报不报错有啥区别吗?不都一样用吗?实际上不一样啊,因为我们后期还会学错误和异常处理,有的时候你得用报错的方式我们才能接收得到啊。好了,那在这里边,哎,给大家记录一下啊,它的返回值呢,也是呢,是不是跟上面一样,是不是它的注意事项呢?哎,也是直接操作原有集合,所以discard和remote最大区别就在于数据不存在的时候,它是怎么操作的。
02:24
好了,那这样一来的话,关于我们的什么删除也被大家介绍完了。好,删除完了之后呢,再给大家介绍一个什么东西呢?啊好,再给大家介绍一个,很多说这增删改茶我都有了,这不是不是增添加addd有了,是不是删我有三个了,是不是这改和查有没有啊,不好意思,没有啊,因为你没有办法指定某一个数据来进行修改,所以是不存在修改和查询这么一种操作的啊。好,那下面给大家讲的是另外的函数,比如说第一个函数叫啊,这个大家看的眼熟是不是,它叫做什么呢?清空集合本身啊清空集合。
03:02
那它的格式呢,这个大家以前都见过的,是不是直接是集合变量,点我们的可就可以了,Clear c就可以就可以了,啊就这么写,然后我们来看一下。可乐的一个操作。上面注释了吗?啊注释了,来我们来看一下,可函数接了液压。可量函数首先呢,还是老规律,先得声明出一个集合来,好,我们在里边写一下这个集合啊,比如说写个饮料drink啊drink。政策等于好像不太对啊,差不多吧,然后呢,写上我们的什么冰,冰糖雪梨,冰糖雪梨是不是还有我们这个橙汁,橙子汁是不是橙子汁。然后逗号再来一个西瓜汁是不是,然后逗号再来一个这个,呃,椰汁椰汁啊椰汁,然后逗号再来一个草莓汁。草莓汁好,然后干什么事呢?现在先打印一遍原有集合嘛,我们的DNK啊也drink好,右键运行一遍,所有内容都会在里面,是不是都出来啊,然后呢,我们为了。
04:12
看一下清空之前和清空之后这个集合是否被改变了,我们查一下它的集合ID啊,也就是看看三之前和三之后的ID是否发生变化啊,OK啊出来了,然后我们在这里边进行一个清空操作啊。来清空操作。操作好,然后在这里边直接写上我们的重点写。然后呢,很多时候有没有返回值呢?这个没必要啊,但是你可以接受一下它的返回值是能啊来我们在里边清空之后,再次打印集合本身打印它的ID啊E,然后呢,如果你想看result,我也可以把结果给你看看,IUT右键运行一遍,大家来看。看到没有,集合是变成空集合了,它的ID编号依然没有发生任何变化,也就是说都数在原集合上操作了嘛,是不是返回值是那啊,所以没有返回值,所以可乐的作用非常简单啊,就是把原有机可清空啊,相当于你有一篮子鸡蛋,是不是我把鸡蛋都扔了,把篮子拿着了。
05:12
这就是我们的可链操作啊,可操作的返回值是没有的,也就是个默认值,就是个那啊返回值就是一个nu,然后呢,它的注意事项也是清空原有集合啊,所以大家其实也可以看出来,在集合的操作里边,基本上都是直接改变原有集合本身的,对不对,好了,然后呢,这个完了之后再来看一下copy啊copy copy函数呢,我们在学容器数据的时候,基本上都用过,是不是它的作用叫做复制集合,复制集合。那当然,要想复制集合,我得先有个集合呀来,它的运行格式也是一样啊,也是集合点copy copy,集合点copy上括号。然后呢,在这里边啊,我们来应用一下这个复制集合的操作,首先呢,来写一下copy。然后呢,在这里边先声明一个集合啊,还是写我们的水果吧,水果单词啊,我还写汉字吧,Fruit啊,英文单词背不全,Fruit等于碳罐啊,我们比要写上樱桃。
06:10
好像也叫车厘子是吧。好,我们写上樱桃,樱桃,然后呢,逗号,然后再写上水蜜桃。然后再写上什么扁桃,扁桃是不是,然后逗号还有什么油桃。这是正是吃桃子的季节,还有什么桃,猕猴桃?是不是还有什么?算了,不知道了啊,就这些吧,然后先打印一遍原有的集合,哎,发fruit好,然后呢,我们想复制一个,为了看它复制的和之前的ID是否一样,我们依然给它打,给它打印出来ID好不好,诶没写完F2U it好,右键运行一遍。好,大家看是不是出来了,好,我们要复制一份一样集合,怎么办呢?咱生明一个新变量啊,复制集合。复制即可,我们写上一个叫new fruit行不行,有新的水果,等于直接fruit.copy就可以点copy copy括号,然后呢,我们再次打印这个复制出来的啊,就是new fruit。
07:12
六分也看一下他的ID行不行?叫做new new,好,来右肩预习一遍。大家可以清楚的看到,这个集合呢,确实是又复制了一份一模一样的啊,当然顺序不一样,肯定的,因为集合本身就没顺序,但是大家也看到了,他俩的ID编号完全不一样吧,是不是这就证明你复制出来的是一个新的集合,和原集合唯一的特征就是内容一样,但是其实根本就不是一个集合,所以这个大家需要注意一下啊,那它的返回值是没有的,返回值是那。返回值是,那我们给大家做实验啊,大家可以自己看一下它的注意事项啊,就是什么呀,它是复制的集合和原集合内,呃,不是写错了圆集合。内容一样,但是不是一个集合,因为它的ID标识不一样嘛,对不对啊,这就是我们的集合的一些操作相关的函数了啊,当然操作函数完了之后呢,则剩下的都是我们的什么呀,交集,差集,并集,补集这样的函数啊,所以下面我们来看一下这些计算集合操作的函数。
08:24
来,我们先来讲第一个函数吧,给大家讲的第一个集合操作函数啊,集合运算函数吧,集合运算函数我们讲的第一个叫做差集,还记得差集吗?是不是在集合一中不在集合二中的这么一个运算是不是好差集的函数叫什么东西呢?叫做different。Difference啊,DEF啊,这个我们上学的时候应该非常早就学了个不同的一个单词嘛,对不对?好,那它的应用啊,给大家写一下格式,要计算我们的差集的话,就必须要有两个集合来进行运算,所以它的格式是这样,叫集合一啊,点dic,然后括号里面放集合啊,这就是计算集合差几的一个运算啊。
09:19
然后呢,它的返回值我们还不知道是不是,我们来看一下吧,行不行,好在这里面打开我们的集合,在这里边注释掉。然后呢,下面我们来写出两个集合,两个集合。这里边是集合运算,先给大家写一下差集的运算,首先需要两个集合啊,我们写什么呢?我们就写嗯,两个水果的集合行不行?发u it啊,FRUIT1的集合。和福二的集合,IT2的集合。好,然后在第一个集合里边,我们放一些什么呢?放一些水果,比如说我们写上。
10:00
叫做苹果逗号梨。然后逗号啊,写上橘子,哎,不是橘子。然后逗号写上又子。逗号,再写上西瓜。然后呢,再写上我们的草莓行不行,这是第一个集合中存在的水果,然后在第二个集合中我们也写一些水果,比如说我们在第二个写上什么呢?写上这个,呃,橙子。然后逗号,然后还有呢,呃,水果还是没吃多少啊,橙子,还有我们的桃子对不对,还有我们的葡萄。葡萄。葡萄,诶。叫葡萄逗号,再写上我们的提子。啊,第四个吧,提子逗号,再写上我们的草莓,再写上我们的樱桃,再写上我们的樱桃,然后再写上我们的什么呢?叫做橘子。
11:02
行不行,好了,这个时候两个集合写完了啊,两个集合写完了,但是大家也看到了,集合一和集合中有些数据是重复的,比如说这个什么呀,橘子,哎,两个都有是不是,这个草莓是不是两个都有啊是不是,然后这个时候就可以进行差运算了。那我们在这里边叫做看好了计算怎么说,你得说好了计算集合一相对于集合二的差几啊相对于。相对于啊,相对于集合二的差集,简单的说就是什么呀,哎,存在于集合一,但是。不存在于集合二的数据啊。但是不存在于集合二的数据啊,就这么个意思,然后我们运算呗,直接是fruit一点difference.difference糖块把集合二放进去就可以了,是FRUIT2啊。
12:01
好,他们运算的结果,你需要拿一个变量来接收一下我们result来接收一下,同时在后边打印出运算的结果,Print号,括号,Result。好,我们来自己来分析一下啊,在这里边苹果第一个有,但是第二个里边没有是不是?所以符合要求举出来啊,梨第一个有,第二个没有,是不是要取出来啊?橘子第一个有,第二个也有啊,所以这个要抛弃掉,因为不能存在鸡合二中是不是啊?第三个柚子鸡合一有几合二没有,鸡西花也是几合一有,结合二没有,草莓集合一和结合二都有是不是?所以最后的结果应该是苹果、梨、柚子和西瓜这四个数据组成的新集合来预算一下,看是否正确呢?来大家看结果是不是一苹果就的西瓜,嗯,这就是我们的差几运算,大家会了吗?求计算存在于集合一,但是又不存在于集合二中的数据好与差集运算非常相似的啊,还有另外一个啊,先把这个返回值记一下,返回值就是什么呀?就是差集的集合。
13:00
再集合,然后这哥们倒没啥注意事项啊,后来看一下差集还有另外一个运算叫做什么呢?叫做更新差级运算啊更新差集。它的用它的函数比这个difference多一点点dice。下线啊D就多了一个update格式呢,也是在这里边放集,呃集合一忘写了,也是集,它的格式也是集合一点啊,你写格式好它的格式。冒号也是集合一点,Di difference Di different,下线update,然后在这里边放集合二就可以了,所以大家看起来几这两个预算格式是不是几乎是相似的,就是这个函数名不一样啊。好,那我们来看一下它的应用和刚刚这个差集有什么不一样的呢?来更新差级运算啊,或者叫差级更新都行。茶几更新运算依然是需要两个集合啊,我们依然拿出水管,这两个行不行?
14:01
好,复制一下,粘贴一下。把上面的注释一遍。那么更新叉机的使用格式和上面倒没什么区别,所以我们计算的时候依然是什么呀?Result依然是fruit fruit it fruit.di difference update里边放上我们的集合二好好的说区别在哪啊,它不可不需要用结果来接收啊,好多说我接收一下行不行,行啊,但是没什么意义啊,Print框框,Result。你会发现result的运算结果是一个,那看到没有?他说,哎,这两个不是在求差集吗?怎么结果是none啊?这是因为他们两个求计算的结果并没有返回回来。也就是他俩计算差距了吗?计算了集合一和积分二的差,积确实计算了,但是他们计算的结果会重新复制给集合一,能看懂吗?简单的说,我所谓的集合更新操作,就是把集合一和集合二做一个差集预算之后,把这个结果重新复制给前面这个集合变量,所以你会发现在fruit里边变成了原来的四个,原来有有几个,原来是不是有六个?因你做完操作之后,把结果重新复制给了FRUIT1这个变量,所以它有点什么呀,有点类似于。
我来说两句