大杂烩知识点总结(二)——LinkedList

  1. 是实现了List接口和Deque接口的双端链表。

  2. 不是线程安全的;Collections.synchronizedList(new LinkedList(…));

  3. 每个节点具有前后节点以及本节点的值三个属性

  4. 可以用已有集合创建链表。通过allAll©→addAll(size, c)从指定位置插入(size,即末尾):

    1. 检查index范围是否在size之内
    2. toArray()方法把集合的数据存到对象数组中
    3. 得到插入位置的前驱和后继节点
    4. 遍历数据,将数据插入到指定位置
  5. add(E e), addLast(E e) →LinkLast(E e)/ 则 addFirst(E e)→linkFirst(E e)

  6. 获取头节点(index=0)数据方法:getFirst(),element(),peek(),peekFirst() 这四个获取头结点方法的区别在于对链表为空时的处理,是抛出异常还是返回null,其中getFirst()element() 方法将会在链表为空时,抛出异常

    element()方法的内部就是使用getFirst()实现的。它们会在链表为空时,抛出NoSuchElementException

  7. 获取尾节点(index=-1)数据方法:**getLast() 方法在链表为空时,会抛出NoSuchElementException**,而peekLast() 则不会,只是会返回 null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值