00:00
来,各位同学,咱们继续,那么接下来我们介绍第三种数据类型,List数据结构,那么在开始之前,老规矩,先说Java,后说list,搁到这,那么同学们。咱们呢,先说大家已经懂得熟悉的啊,第一个Java list,那么大家一定清楚,最牛逼的两个是不是叫A瑞list,第二个是不是叫link list,这两个是不是都是Java的list类型的典型代表,只不过唯一的区别对于我们瑞list,它为了更好的处理和封装,对外暴露用户用就叫用list,你不要管底层,我给你屏蔽了,我这个底层叫object类型的数组,而这货呢,你不要管干嘛呢?我们直接告诉你,请大家看link list,我们直接翻到最上面是不是double link list实现了这么一个list接口和这么一个队列的这么一个接口,所以double是什么意思啊,双端的意思啊,这个是不会错的,这个是API标准的源码和注解以及对应的注释。好,那么同学们过。
01:17
这咱们大家都清楚,一旦是link list啊,1AT。我们呢,来看一下在这块它是不是个node,那么这个no的节点就告诉你每次加进来的。Link。Element is last element完链表最后屁股后面加,每次加进来的一个东西都要封装成1NODE,而每个node节点都有置指针和什么有前置指针和什么指向下一个的后置指针,那么基于此我们当然了都会清楚啊,学过对于我们的这个货而言,它是一个什么放入no的节点的一个双端链表,弟兄们没问题吧,这是咱们最经典最简单的Java层次的理解,好那么一样,那么我们read list呢?
02:11
那么对不起,它这呢也叫RED6,也叫RED7,那么我们先回到我们的red,随便六还是七都支持这命L有吧,那么r push,比如说这是叫LIST1往左边加没问题,L push list2往右边加,如果左右两边都可以同时加,那么弟兄们100%也叫什么链表对吧?那么首先我们呢,得到一个六和七。不好意思啊,他们都是双端链表结构,OK,那么一样,我暴露给用户的就是你不要管那么多底层了啊,说难听点,我们不是为了面试,我们也不用学这些,反正你就给我操作l list和link list就行了,但是面试你就搞知道list叫这个,Link list叫这个,那么基于此,借鉴Java的思想,Red也给用户新建了一种全新的。
03:28
数据结构俗称什么?六七同样在用的,那么弟兄们来记住这个结论,咱们就开始学习,俗称quick list讲完了。所以说对标来学习,你在Java层面操作这个实际上操操作是object速组,你在JA,你在RE6和七里面操作这个list的结构,实质而言,底层操纵的是一个东西,叫quick list,这样一种新的载体,数据结构,一种媒介,一种封装的结构。OK,好,这个就是我们第一步总干,那么接下来分我们就要说说六跟七这个quick list有什么不一样来。
04:17
回到我们之前写过的这个小模型,包括我图上抓的这样一个动作,我们学过了string和哈希,那么接下来干到list,那么对于我们list而言,它实质而言啊,要是粗糙一点说,六根七底子都叫quick克list,它出了这么一种数据结构,那么对于我们六这个而言,它明确的告诉你叫quick list加z list,但是到七这块,我们大家通过前面的学习,我们都晓得七之前叫压缩列表,七之后叫什么list派紧凑列表,如果你要特别严谨细分的话,在RED7也就叫quick list加list pack紧凑列表取代the list,但是如果你要错分的意思呢,就是RED7尽量屏蔽这个底层你。
05:13
请你忘记我下面是个什么,你直接告诉人家。这就是一个quick list就行了,因为待会儿我们可以用源码来简单的诉说一下,如果你非要严谨的来说没问题,如果你做糙点的来说,因为七希望你屏蔽底层这些,这个到这个的差异没有这个了,这个你也不用说,我给你封装好了抓quick list就行了,OK,好,它底层做了一什么相关的优化,那么来吧,同学们了解总干了以后我们直接过来这。对于我们六而言,先证明案例说话。
我来说两句