00:00
啊,就是这个套路,你永远记住套路就OK了。好,我们来看看英文案例一,首先我们看队列Q,它的一个创建,创建方式非常的简单,就六就可以了。啊,后面呢,这个地方是他的泛型,就说你这个队列里面放什么类型,如果说你希望队列里面什么都可以放,那你就any any就完了,这个非常简单,好把这个代码呢,简单的给大家写一下就OK了,好新建一个文件,朋友们,这是Q。好,Q呢,我们写个DEMO01。来整一个object。好同学们,我们把它放一下啊各位,那这个时候我们需要引个包啊,引入对应的,别引错了啊,因为你只有引这个包下面的Q,你才能进行这个入队列和呃删除队列的一个操作,不然动不了啊,再说一遍啊,那不然你就队列就呃只能做一个最简单的一个操作,比如说呃,看一下队列头是什么呀,队列为什么,但是你无法对这个队列进行一个入队列和取队列的一个具体操作了。
01:08
好,这个呢,我就直接给大家看一下,目前运行一下啊来。这个很简单,这样就打出了它的一个最基本的一个队列情况空的。什么都没放嘛,那肯定就是空的了,好这个第一个咱们就说完了,第二个看一下。下一个呢,我们来看向队列中增加单个元素,增加单个元素和历史的集合。啊,很简单,就是甲等就行了,注意看啊,甲等其实对这个Q队列直接就进行了变化。啊,就像这个队列里面直接加元素啊,直接加元素就要底层呢,就会相当于说是增加,然后还有这种加加等,加加等呢,就是把这个例子的集合里面的元素分打开,直接往这个对立面放。啊,这个还有一种方式啊,就是这种方式加等后面写一个类似这种形式呢,代表什么,我说一下啊,这种形式就跟刚才这个不一样了。
02:07
大家知道啊,这种形式它其实是把集合里面的246加入到队列中,如果你这样写呢,是把整个这个集合。整个这个集合就是历史的集合,直接扔到队列里面去,把它当成队列里面那个元素。放进去,所以说如果你要执行这个操作呢,需要我们这个队列前面是any类型才可以,好,我给同学们简单的写一下啊,来吧,我们现在上面这个是创建,不说了,创建队列很简单,下面是给队列。啊,给队列增加增加元素。好,那么刚才我们讲了一个Q1对加。等啊加等,比如说我给他来一个九,哎,这个呢,这样一加,我们队列里面呢,就应该是这样一个东西,就是一个九。
03:07
OK,好,还有一种方法呢,就是加加等,然后呢,我给它来一个历史的集合,OK,它会自动的把它进行一个隐式转换啊,隐式转换会把它转转过来,那这样子写的话呢,对应加的时候,我们看看是怎么加的啊来同学们看,我们先输出这个Q1。同学们不要着急,我们看一下Q1现在等于多少了加,既然你是队列,那么我们看它是这个,这个肯定是这个,不用说一个元素怎么说都能看出来,关键我们看这里。啊,当我们向这个队列源加一个456的时候,它是加在后面还是加在前面的问题,看一下。Q1等于加Q1,好朋友们,我们运行一下。好,当我们运行完了过后,我们可以看到这个结果,好,同学们看945。
04:02
七同学们看这里,他在家的时候,他遵守的是队列的方式,是加在我们队列的屁股后边来了吗?你想吗?一个人正在排队,你不能人家排了一长会,你跑去排在第一名是吧?那被人家打一顿,你又不是站是吧?你这什么呢?你这是队列,因此呢,它会在屁股后面加默认啊,同学们默认是直接加在。加在队列的,哎,加在。队列的队列的最后,队列的后面,好同学们,那这个逻辑呢,就变成了九后面带了一个457。好,这个就送完了啊,就说完加这个就送完了,紧接着还有一种逻辑就是如果我们这样操作啊。我们这样操作,加等一个list。那这样的这样的区别呢啊,我再写一个,比如说十。
05:02
零。好,如果你这样操作的话呢,也可以。这个这种操作的方式表示将这个list。100作为一个元素对吧,作为一个元素加入到加入到这个队列中。队列中,那么那么要求它的类型是N,如果你看我把它写成N,这个代码就能通过。啊,写着any这个代码就能通过啊,你看这就对了。好这样,如果这样写的话呢,呃,大家知道应该是九十五七后面带了一个list史,那这样子呢,我们不允许的话,就写成这个,好,我就说到这儿。好,这面就说到这儿了啊。好,这个添加这个事儿我们就说完了啊,刚才讲了一个创建,讲了一个添加啊,那么这里呢,我做一个补充,补充讲一个知识点,就是操作重载的一个知识点,前面呢,大家看这里加等加加等。
06:10
加等,那么这种符号我们自己能不能设计?说老师你看你这个写的东西感感觉好奇怪,以前没有这种用法,你怎么能加加的一个对象呢?其实这个对我来说挺简单的,我给大家举一个例子,你们一下就明白了,比如说我现在举一个案例。啊,单独的举一份案例。单独结个什么呢?叫做操作符重载的一个案例啊,Oper operator,一个overload啊,Overload重载,大家举个例子看一下啊,你们自己也能写。比如说现在我有一一个类叫K这个类啊,然后呢,这里边儿我有一个属性是它的年龄,比如说默认给了一个零。
07:00
然后呢,我这里写了一个家。加的一个函数。好加,我到时候让他支持这个加法,那这地方我接收一个什么呢?我接收一个类型,这个类型你可以自己定义,比如说就是int,然后呢,我要做一件事情,就是this age等于。啊,加等于,加等于你的这个N写完了代码,那你看我怎么用啊,其实特别简单,比如说我这里创建了一个,创建了一个K。好,创建一个cat,过后呢,我这样做了一件事情。K加十。加十,那么这个时候我们输出它的年龄t.H等于好,你原先是默认为零,我加了一个十过后呢,它就变成了啊,它就变成了多少呢?变成了十了。哎,你看这种这用法就是大家能看一下它是怎么用的啊,同学们看变成十了,当然你还可以继续加,说老师我K再加一个二啊,再加一个,再加一个20 20这个就变成变成30了。
08:11
啊,除了这种用法呢,你还可以这样去用,就是这样写也是等价的,就K点加,然后里面传一个数,比如传一个九也是可以的,那这样就是呃39。这个这个操作修复的重感呢,你们自己也可以写,就是打破这个神秘感啊,不要觉得这个很好,好像很很很奇怪,其实你自己也可以写的,也可以写好,这个呢,我就说到这儿啊,说这我们把这部分先说一下,刚才我们讲的是队列的啊,一个基本介绍啊,把这个板述一下。好,我们把队列这一块进行一个简单快速的板书啊。首先。我跟同学们说了一下,队列的一个应用场景很多啊,队列的应用场景肯定是很多的,只是大家呢,现在还没有感受到这种这种用法啊。
09:10
后面大家随着你的开发经验越来越丰富啊,建的东西越来越多,你发现诶这个队列呢,肯定是用的蛮多的,好再看一个队列的一个简单说明,我总结了这么四点。啊,我总结了四点,哪四点呢。哎,哪四点呢,就是这样子,第一个首先要明白队列它是个有序的,哎,队列是个有序的,如果面试官问你说队列底层是怎么实现的呢?你说可以用数组。也可以用链表有你的需求来玩啊,只是你们没有没有看过这个东西,那有有机会呢,再自己去看一看,还有一点呢,要一定要记住记住队列它有一个规则,遵循先入先出,这是一个最基本的,它为什么叫队列,就是因为它具有先入先出的这个原则。
10:05
好的,在开里面呢,我们可以直接用设计者提供的队列,就是那个Q。哎,Q,直接拿来用。好,那么有可变的和不可变的自己呢,可以按照这个要求来选择好,这个呢,我们就说完了啊,就是刚才说的,紧接着呢,我做了一个应用案例,就是队列创建的案例,对吧,也非常简单。好,队列的创建的案例呢,我给同学们放到这里,重点来说就是这样一段代码。哎,创建就是这样一段内的我找到啊Q在这里啊,创建就如此简单啊,就这么一一句话就搞定了。啊,一句话就搞定了,紧接着我讲一下队列的一个呃访问啊,队列的呃追加追加元素的一个案例。给大家也放到这来。
11:01
追加元素。好,最佳元素呢,我也给同学们放到这啊,代码拿过来。就讲了这么一点儿东西。好,这边还做了一个说明。好,这是给队列追加元素,好,截取一段视频。
我来说两句