Java学习笔记之——LinkedList
LinkedList
底层结构:链表
1. API:
除了ArrayList中有的方法以外,LinkedList还有几个扩展方法
void |
在该列表开头插入指定的元素。 |
void |
将指定的元素追加到此列表的末尾。 |
getFirst() 返回此列表中的第一个元素。 |
|
getLast() 返回此列表中的最后一个元素。 |
从此列表中删除并返回第一个元素。 |
|
boolean |
removeFirstOccurrence(Object o) 删除此列表中指定元素的第一个出现(从头到尾遍历列表时)。 |
从此列表中删除并返回最后一个元素。 |
|
boolean |
removeLastOccurrence(Object o) 删除此列表中指定元素的最后一次出现(从头到尾遍历列表时)。 |
2.ArrayList vs LinkedList
ArrayList :底层结构数组
访问元素:直接首地址+偏移量
查找方便,添加、删除不方便
LinkedList:
底层结构双向链表
每个元素空间不是连续的
每个元素通过引用属性指向相邻元素
访问一个元素:从头或者从尾开始找
添加、删除方便,查找不方便
总结:数据量不大时,两者差不多,数据量大时,应从性能考略