Java之LinkedList源码分析(第一篇:初步了解)

(注意:本文源码基于JDK1.8)

基本介绍

    LinkedList实现了List接口、Deque接口,Deque接口继承了Queue接口,List接口表示具备线性表的能力、Deque接口表示具备双端队列的能力,Queue接口表示队列的能力,所以LinkedList添加元素、删除元素的方法非常多……LinkedList为全能型线性表,LinkedList的底层数据结构为双向链表,非线程安全,无法在多线程下使用!

注意:LinkedList可以作为下方任意一个,想让LinkedList做什么就做什么

1、它可以做普通的List

2、它可以做栈

3、它可以做队列

4、它可以做双端队列(两端都可以添加和删除元素)

 

添加元素的方法

1、作为普通列表

2、作为栈

3、作为队列

4、作为双端队列

void addFirst(E e);
void addLast(E e);
boolean offerFirst(E e);
boolean offerLast(E e);
boolean add(E e);
boolean offer(E e);

 

删除元素方法

1、作为普通列表

2、作为栈

E pop();

3、作为队列 

E remove();
E poll();

4、作为双端队列

E removeFirst();
E removeLast();
E pollFirst();
E pollLast();
boolean removeFirstOccurrence(Object o);
boolean removeLastOccurrence(Object o);

5、清空全部元素

后面意思是重写了AbstractList的clear()方法

 

修改元素功能

 

查找元素功能

1、作为普通列表的方法

E get(int index);
int indexOf(Object o);
int lastIndexOf(Object o);

2、作为栈的方法

E peek();

3、作为队列的方法

E element();
E peek();

4、作为双端队列

E getFirst();
E getLast();
E peekFirst();
E peekLast();

 

遍历元素功能(任选一个方式)

1、迭代器

2、普通for循环

3、for each

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值