LinkedList总结与拓展使用

LinkedList

1.LinkedList是什么?
        LinkedList实现了List接口和Deque接口,Cloneable,是一种链表类的结构。因为实现了Deque接口,又有队列的特性。LinkedList底层是一个双端的链表。
2.它的优缺点呢?
     它的优缺点正好和ArrayList相反。增删快。查询慢。
它继承了那些接口,赋予的它什么样的特性呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqCagnh3-1606996816965)(en-resource://database/540:2)]

    linkedList继承了 AbstractSequentialList,List,Deque,Cloneable,java.io.Serializable接口。
    实现AbstractSequentialList接口意味着它可以被当作堆栈,队列或者双端队列来使用。
    实现list接口意味着它能对列表进行操作。
    实现Deque接口意味着它能被当作双端队列来使用。
    实现了Cloneable接口意味着可以进行clone。
    实现了java.io.Serialiable接口意味着LinkedList可以支持序列化,可以通过序列化去传输。
3.他是如何形成一个链表结构的呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lYjl5SGf-1606996816967)(en-resource://database/540:2)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XiOQ9Iey-1606996816968)(en-resource://database/541:1)]

 size -存放当前链表有多少个节点。
 first -指向链表的头节点。
 last -指向链表的尾节点。
 通过各个节点通过指定的前一个节点和后一个节点,最终形成一个链表。
LinkedList常用方法有哪些?

在链表后添加一个元素;

add(E e)

在链表头部插入一个元素

addFirst(E e)

在链表尾部添加一个元素

addList(E,e)

与addFirst方法一致

push(E e)

在指定位置插入一个元素。

add(int index, E element)

在链表尾部插入一个元素

offer(E e)

JDK1.6版本之后,在头部添加

 offerFirst(E e)

JDK1.6版本之后,在尾部添加

offerLast(E e)

移除链表中的第一个元素

remove()

移除指定元素

remove(E e)

删除头元素

removeFirst()

删除尾部元素

removeLast()

查询并删除头元素

pollFirst()

查询并删除尾部元素

pollLast()

查询并删除头

pop()

查询并移除第一个元素

poll()

根据下标获取元素

get(int index)

获取第一个&最后一个元素

getFirst()&getLast()

获取第一个&最后一个元素

peek()&peekFirst()&peekLast();
如何实现栈效果?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xKM18rRr-1606996816970)(en-resource://database/542:1)]

如何模仿队列效果?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2JJXnXe-1606996816971)(en-resource://database/543:1)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值