LinkedList
Linked代表链,他的底层实现就是双向链表,而不是数组。他既实现了Dueue、又实现了List。其中Deque继承自Queue,是一种双端队列的操作抽象。


LinkedList
的内部是一个双向链表,链表的每个节点由Node
类定义,他拥有两个指针:image-20220303172124132 双向链表一般会记录头节点和尾节点,以及整个链表的长度:
image-20220303172312274 add
方法将会在链表的结尾链接一个新的元素,他会先将元素封装为Node并将last
、size
更新。image-20220303172448346 image-20220303172519989 get
方法根据索引获取元素,将会使用循环的方式一个个寻找元素,当要获取的索引在链表的前半段,则从前往后找,如果在链表的后半段,则从后往前找:image-20220303172728256

最后更新于
这有帮助吗?