LinkedList
LinkedList同时实现了List接口和Deque接口,也就是说它皆可以看做一个顺序容器,也可以看做是一个队列,同时也可以看做是一个栈。
当你想要使用栈和队列时,可以考虑使用LinkedList。不过现在首选的是ArrayDeque,他的性能比LinkedList更好。
LinkedList的底层通过双向链表来实现。

LinkedList没用实现同步,可以采用Collections.synchronizedList()方法对其进行包装。
他的get,set,add,remove方法底层其实就是对链表的维护。
add
add方法有两个版本,一个是add(E e),该方法是在LinkedList末尾插入元素,另一个是add(int index, E element)。

add(int index, E element)方法则需要先根据index找到要插入的位置,然后修改引用即可。
remove方法也有两个版本,一个是删除跟指定元素相等的第一个元素,另一个是删除指定下标的元素。

get方法得到指定下标元素的引用。
set(int index, E element)方法将指定下标处的元素修改成指定值。
本文详细解析了LinkedList的数据结构,包括其实现原理、基本操作如add、remove、get和set的方法,以及其作为队列和栈的使用场景。同时对比了ArrayDeque的性能优势。
267

被折叠的 条评论
为什么被折叠?



