linkedLIst和ArrayLIst一样,都实现了List接口,但其内部的数据结构不同,linkedList是基于链表实现的(从名字也能看出来),随机访问效率要比ArrayList差.它的插入和删除操作比ArrayList更加高效,但还是要遍历部分链表的指针才能移动到下标所指的位置,只有在链表两头的操作能省掉移动,如add(),addFirest(),removeLast()等.
linkedList源码分析
1.数据结构
linkedList是基于链表结构实现的,在类中定义了头尾指针.其内部维护了一个双向链表
2.构造方法
默认构造函数很简单,啥也没有
将集合的元素添加的linkedList中:
3.存储
(1)add(E)在链表的末尾添加元素
(2)add(int,E)在指定的位置插入元素
(3)addAll(Collection)将集合添加到链表末尾,该方法在构造方法中介绍了,在此不再赘述
(4)addAll(int,Collection)将集合添加到链表的指定位置,该方法也在构造方法中介绍了
(5)addFirst(E)将元素添加到链表表头位置
(6)addLast(E)将元素添加到表尾
4.获取
5.删除
删除方法不在给出源码,基本大同小异.有如下方法:
remove():删除第一个元素并返回,调用removeFirst方法
remove(int):删除链表指定位置的元素
remove(Object):从链表中删除首次出现的元素
removeFirst():删除并返回第一个元素
removeLast():删除并返回最后一个元素
removeFirstOccurrence(Object):从链表中删除第一次出现的指定元素
removeLastOccurrence(Object):从链表中删除最后一个出现的指定元素
以上就是天津卓众教育java培训机构的小编针对“Java编程中的基础分享,linkedlist集合”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。