Java集合框架 ——— LinkedList 基础使用

相关博客

LinkedList 是 List 的子类,List 中的方法 LinkedList 都是可以使用,这里就不做详细介绍。在本文里我们介绍一下 LinkedList 特有的一些方法使用场景。

LinkedList 除了实现了 List 接口相关方法,还实现了 Deque 接口的很多方法,所以我们有很多种新的方式操作列表元素。

插入元素

  • addFirst(E e) - 在此列表的开头插入指定的元素。
  • addLast(E e) - 将指定的元素追加到此列表的末尾。这个方法相当于 add(E e) 用法,将元素加到队尾
  • push(E e) - 在此列表的前面插入元素。这个方法相当于 addFirst(E e) 用法,将元素加到前面
  • offer(E e) - 将指定的元素添加为此列表的尾部(最后一个元素)
  • offerFirst(E e) - 在此列表的前面插入元素。这个方法相当于 addFirst(E e) 用法,将元素加到前面
  • offerLast(E e) - 将指定的元素追加到此列表的末尾。这个方法相当于 addLast(E e) 用法,将元素加到队尾
LinkedList<String> list = new LinkedList<>();
list.push("中间元素");
list.addLast("最后一个元素");
list.addFirst("第一个元素");
// [第一个元素, 中间元素, 最后一个元素]

检索元素

  • getFirst() - 返回此列表中的第一个元素。
  • getLast() - 返回此列表中的最后一个元素。
  • peek() - 检索但不删除此列表的 head(第一个元素)。
  • element() - 检索但不删除此列表的 head(第一个元素)
  • peekFirst() - 检索但不删除此列表的第一个元素,如果此列表为空,则返回 null 。
  • peekLast() - 检索但不删除此列表的最后一个元素,如果此列表为空,则返回 null 。
System.out.println(list.getFirst());
// 第一个元素
System.out.println(list.getLast());
// 最后一个元素

删除元素

  • removeFirst() - 从此列表中删除并返回第一个元素。
  • removeLast() - 从此列表中删除并返回最后一个元素。
  • pop() - 删除并返回此列表的第一个元素,此方法等效于 removeFirst()
  • poll() - 检索并删除此列表的头部(第一个元素)。
  • pollFirst() - 检索并删除此列表的第一个元素,如果此列表为空,则返回 null
  • pollLast() - 检索并删除此列表的最后一个元素,如果此列表为空,则返回 null 。
System.out.println(list.removeFirst());
// 第一个元素
System.out.println(list.removeLast());
// 最后一个元素
System.out.println(list.pop());
// 中间元素

总结

采用链表存储,所以在头尾插入或者删除元素不受元素位置的影响,时间复杂度为 O(1);如果是要在指定位置 i 插入和删除元素的话, 时间复杂度为 O(n) ,因为需要先移动到指定位置再插入和删除。
我们在项目中一般是不会使用到 LinkedList 的,需要用到 LinkedList 的场景几乎都可以使用 ArrayList 来代替,并且,性能通常会更好

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值