LinkedList常见特性

1.LinkedList底层
LinkedList底层是通过链表实现的,链表中的一个节点是一个Node类型的数据结构,其保存了一个指向前驱节点的引用、真实数据和一个指向后继节点的引用;
特点是随机访问效率低,删除和插入快;
可以当作栈,队列和双端队列来使用;
非线程安全,如果要创建一个线程安全的LinkedList,则可以用
Collections.synchronizedList(new LinkedList(…))
实现Serializable接口,因此它支持序列化,能够通过序列化传输,实现Cloneable接口,能被克隆
LinkedList可以存放任何元素,包括null;
LinkedList是按双向链表查找的,如果用get(index)方法访问,计算index与size/2值的相对大小来决定是从头或者从后开始查找;

2. LinkedList中所有的调用方法
增加:
add(E e):在尾部插入元素
addFirst(E e):在头部插入
addLast(E e):在尾部添加元素
push:与addFirst一致
offer(E e):在尾部添加
offerFirst():在头部添加
offerLast():在尾部添加
删除:
poll():头部删除
pollFirst():删除头
pollLast():删除尾
pop();删除头
remove();删除链表中第一个元素
remove(E e):移除
removeFirst(E e):删除头元素
removeLast(E e):移除尾元素
修改:
set(int index,E element)
获取:
get(int index)
getFirst()
getLast():
peek()
peekFirst()
peekLast()
indexOf(Object o):返回第一次出现的位置,如果不存在则返回-1
lastIndexOf(Object o):返回元素最后一次出现的位置,如果不存在则返回-1
contains(Object o):
clear();
遍历:
for循环
增强for循环
iterator()
listIterator()
注意:
add与offer在尾部插入元素时,若超出队列界限的时候,前者会抛出异常,而后者会返回false;remove与poll在用空集合调用时不是抛出异常,前者抛出异常,后者返回null;peek与element用于队列的头部查询元素,当队列为空时,前者返回null,后者抛出异常

3.使用LinkedList实现Deque和Queue接口
Deque接口(双向队列)
Deque继承Queue,Deque有3个子类,分别是LinkedList,PriorityQueue,ArrayDeque

Queue接口(单向队列)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值