面试准备 --- LinkedList

为了春招,系统地复习一下Java相关的知识,应该不会写源码解析,完全是给自己看的,如果足够幸运,有幸进入大厂,重新写下给别人看的

注意点

  • 说个题外话,我仔细回想了一下,发现我没有在项目中使用过这个集合类,在算法题中也很少用到,所以应该没多少可以说的
  • LinkedList底层是通过链表实现的,是一个双向链表
  • 底层的双向链表是通过一个内部类实现的.
private static class Entry<E> {
        E element;        
        Entry<E> next;    
        Entry<E> previous;  

        Entry(E element, Entry<E> next, Entry<E> previous) {
            this.element = element;
            this.next = next;
            this.previous = previous;
        }
    }
  • 与ArrayList相比,LinkedList在插入和删除方面的性能都要优于ArrayList,但是在随机访问方面不如ArrayList,其实这也就是数组和链表的区别,学过数据结构,这一点很好理解.据此,也就可以根据不同情况选择不同的集合类.
  • 一些添加和删除操作也就是链表的常规操作.LinkedList就这样吧.

猜你喜欢

转载自blog.csdn.net/qq_36865108/article/details/86631679