1. LinkedList 基础介绍

1.1 重要的私有属性和构造器

1.11私有变量

重要的私有属性有三个, LinkedList的节点个数, 链表的首节点和链表的末节点. 这样设置的原因显而易见, 首先节点个数是我门经常使用的甚至作为循环控制条件的, 首节点末节点对于没有继承随机访问类的LinkedList来说(继承的顺序访问类)是最重要的开端是其他算法的基础.
LinkedList深度解析
这里的私有变量 first和last只是声明了却没有实例化, 因此在没有实例化的情况下一定是Null.

1.12 无参构造器

LinkedList深度解析
这个无参构造器就啥都不干哈哈哈哈哈, 因为它干的事都被私有变量声明的时候给干完了. 我们要实现的无非是size为0, 首节点末节点为null, 看看上面的私有变量的初始化是不是就是这回事.

1.13 有参构造器

LinkedList深度解析
这个有参构造器比较牛逼哈, 只要传进来个collection对象直接把你的元素全部放到我这里. 具体操作看一会addAll的解析.

1.2 Node Helper类 LinkedList类的精华

LinkedList深度解析
Node Helper类是LinkedList的基础类型就像ArrayList的底层数据结构是数组.
Node的构造器很简单就是把传进来的对象赋值给item, item是对象或值, first, last是前后节点.
注意这里没有写无参构造器意味着new的时候必须传入参数不会自动生成无参构造器.
同时< E > 限制了这个Node的中所有带这个泛型的参数的数据类型, 但是Node是一次声明一个不同于容器声明一次一只调用, 怎么才能限制所有Node的类型整齐? 秘密就在于Node是LinkedList的私有类是不对外开放的, LinkedList是第一步初始化的限制了它内部的数据的类型, 它把它初始化的类型传给了内部的Node泛型, 因此Node一定是一样的因为是在内部初始化.

二级目录

相关文章:

  • 2021-04-23
  • 2021-08-21
  • 2021-11-05
  • 2021-06-05
  • 2022-01-10
  • 2021-10-23
  • 2021-11-27
猜你喜欢
  • 2021-11-23
  • 2021-08-31
  • 2021-05-19
  • 2021-12-22
  • 2021-11-09
  • 2022-01-04
  • 2021-11-10
相关资源
相似解决方案