00:02
我们从哪开始的?从哪开始的?你们还记得吗?嗯。是是从这儿开始是吧。还是从这开始的。真郁闷啊,我怎么又忘了?嗯,继续啊,要不重新开始,我想不起来从哪开始的。嗯。从这,哎,就是在这儿给他赋值,嗯。这样给他复制。这就找到了这个根节根节点了,找到根节点呢?呃,我们下一步哈。说在这儿,本次循环其实就没必要再往后走了。因为它找到根节点,它它它的PID是now,它就一定没有这个,就不会再另外有负节点了。
01:02
不会再另外有负节点了。对吧,哎,所以说呢,这个时候就是。嗯。让本次循环停止执行。啊,继续执行,下一次循环该用的是哪一个。停止。嗯,本次循环。继续执行下一次循环。就咱们班说明这个基础还挺扎实的哈。有有有,这个以前有有的班有这一问,还有同学说break是吧,这就比较尴尬了哈。哎,我们一定要对得起我们讲Java基础的老师是吧。嗯。让他九泉之下也可以含笑了,对吧?嗯,Continue哈,这边就往下就不用走了,那么如果能走到下边,说明它不为闹,那说明PID要不能不为闹呢,说明他有负节点,咱们就可以帮他去找爸爸。
02:11
啊。如果pad不为now。啊,说明当前节点。有这个负节点。嗯,找到负节点就可以。找到负节点,我们就可以去进行这个组装。建立父子关系啊。哎,父子二人失散了多年,然后呢,这个在江湖当中没想到相认了是吧?哎,咱们举行一个仪式是吧,哎。嗯。有负节点,那这时候咱就得去找到负节点,找负节点的这个依据呢,就是当前的pad。
03:02
等于这个集合里边的另外一个menu,肯定是另外一个menu啊,它的ID。啊,那么这时候呢,就。对,他呢,又需要再变了一次。嗯,再变了一次。这个MENU2呢,我们叫做maybe。Father。啊,你可能是我爸爸是不是呢,咱们得呃滴血认亲啊,嗯,咱们这样哈。这个是获取maybe father的。想一想。获取他的ID还是PID?哎,ID属性啊,它的ID属性,我们拿子节点的PID找父节点的ID。啊,这个地方你你。整不好,容易绕,容易这绕绕进去啊,子节点的PID找负节点的ID,哎,所以说呢,是maybe father的get ID啊。
04:05
然后呢,第十个检查一下啊,将。嗯,子节点的PID和疑似。负节点。ID进行比较。这不就验DNA吗?哎,PID,当然了,在这咱们因为考虑到是包装类型的objects.equal two equals啊,一个是PID,一个是D。来吧,咱们过来哈,这边这个如果相等的话。天哪,原来你是我的爸爸。爸爸,我好想你啊,你还记得我吗?嗯。就是这个时候呢,是把子节点放到父节点的。子节点的集合里边啊,将子节点存入负节点的。
05:00
The children计划。Children集合,哎,这个就是说我们的maybe father.get children either,因为我们之前。这个东西呢,我们是拗过。在这给它初始化过,我们知道它有值,这就放心的就往里边添加了,哎,放心的添加了。添加进去就建立了这个父子关系了。呃。而且呢,其实这个一个一个节点吧,就作为他来说,就父节点会有好几个子节点。但是一个子节点一定只有一个父节点。所以说呢,他一旦如果找到的话呢,其实也就没必要再往后走了哈。就是咱们可以这个在给他就就停了去了,哎,找到即可停止止停止运行我们这个循环。这个事儿其实我也是刚想到的。
06:02
啊,找到了嘛,啊这个。嗯,你看这个一个集合里边有这么多的这个元素。是他过来找,一个一个找。他找到这儿的时候发现,诶,这个就是。对于子节点来说,负节点就一个找到的话,后边就没有必要再走了啊,所以说这个这个几何这个循环可以就跳跳出来了。嗯。还有。啊呃,这个找完了以后呢,你看这个root这儿还有一个警告哈,警告也不能够全不看。有的时候他不该有警告,现在镶在这个地方就不应该有警告啊,看一看他这个警告是啥。哎,这个,嗯,这个其实还是平常挺容易出现的啊,说这个干嘛呀。没有被使用it's not used啊就这个东西你是是给它赋值的,但是你没有去读这个变量啊,没有去用,所以说这个里边就你像这种不该出现警告的地方,出现警告了,一定是代码有问题了。
07:05
一定是有问题了啊,这个地方得去注意啊,这样也节约你很长很多的这个debug的这个时间。嗯,我们前边进行了一个组装以后,这是一个根节点哈。哎,根节点,然后呢,里边有子节点,子节点呢,再有子节点哈,这个就都准备好了,这就形成了一个整个图形结构,形成整个图形结构以后呢,把这个menu呢返回到后边就可以了。将这个嗯,组装好的。呃,树形结构。也就是。也就是这个根节点这个对象哈,返回给浏览器。所以在这呢,就是一个result entity。点,呃,这个叫做success。不要这个泛型。
08:01
这是with,这是要数据的啊,我们这边呢,就返回的就是这个root。把根节点返回。哎,这是一个我们handle的方法里边一个组装的一个过程。
我来说两句