LinkedList个人心得

add操作:

默认在linkedList新增在最后一个

 

 LinkedList里面只记录first(第一个节点元素)和last(最后一个节点元素)

node节点中关联pre(上一个节点元素)和next(节点元素)

 

 该Node节点实际就是整个LinkedList的承载器,可以理解为ArrayList的elementData

从Node该类可以看出LinkedList底层是链表原理(前置和后置节点关联)

由此可以看出LinkedList适用于新增/修改,只需要关联节点的左右节点元素

unlink:删除节点

1. 取出该x节点元素的pre节点和next节点

2.1 pre空:删除的node是first节点,将x.next置位first

2.2 pre非空:将x.next置为pre.next,同时将x.pre置为空断开节点

3.1 next为空:删除的node是last节点,将x.pre置为last

3.2 next非空:将x.pre置为next.pre,同时将x.next置为空断开节点

4. 将x.item置为null同时size--,modCount++

get:获取元素

 1.index索引校验

 2.判断index是否小于总长度size的一半,则从first首部开始查找,反之从last尾部开始查找

由此可以看出,LinkedList查询效率较低,可能需要对半全部检索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值