Java LinkedList.clear()功能及源码详解

转自:

Java LinkedList.clear()功能及源码详解

下文笔者将讲述LinkedList.clear()方法的功能及源码分析,如下所示:

LinkedList.clear()方法功能:
    清除LinkedList中所有元素
 

LinkedList.clear源码分析

 
public void clear() {
    Entry<E> e = header.next;
    // e可以理解为一个移动的“指针”,因为是循环链表,所以回到header的时候说明已经没有节点了
    while (e != header) {
       // 保留e的下一个节点的引用
        Entry<E> next = e.next;
        // 解除节点e对前后节点的引用
        e.next = e.previous = null;
        // 将节点e的内容置空
        e.element = null;
        // 将e移动到下一个节点
        e = next;
     }
    // 将header构造成一个循环链表,同构造方法构造一个空的LinkedList
    header.next = header.previous = header;
    // 修改size
    size = 0;
    modCount++;
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值