理解 Java 中的链表

         链表是 AbstractList 类的实现,其中我们有对象的线性排序,其中每个节点有 32 个组件:对象和指向列表中下一个对象的指针。链表对象本身通常引用一个“头”节点,或链表中的第一个节点。

用例

        链表对于恒定 时间添加和删除元素非常有用。要添加元素,我们要做的就是将 List 中最后一个对象的指针更改为新对象。我们也可以将列表视为先进先出的数据结构,也就是“队列”。

        当我们需要获取索引的特定元素时,链表可能没有那么有用,因为我们不知道它位于何处。当我们想要获取特定索引时,我们必须遍历数组直到该索引,与普通数组的恒定时间 getIndex 操作相比,这是一个 O(n) 时间操作。

        LinkedLists 可以是单链接的,也可以是双链接的。单链表是其中每个对象仅指向列表中的下一个对象,不允许我们向后迭代的能力。双向链表具有指向前一个和下一个节点的指针,允许我们在任一方向上自由移动,直到我们碰到头或尾。

类方法

        该类拥有用于构建和利用数据结构的各种方法

  • add(E e) — 在 List 的末尾添加一个元素 e
  • clear() — 删除所有元素
  • contains(Object o) — 如果列表包含 o,则返回 true
  • get(int index) — 获取索引处的对象
  • indexOf(Object o) — 返回对象的索引
  • peek() — 返回列表末尾的对象
  • pop() — 移除最后的对象
  • remove(Object O) — 移除指定的对象
  • 七爪网7claw.com

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值