你的位置:首页 > 软件开发 > Java > Java源码分析之LinkedList

Java源码分析之LinkedList

发布时间:2015-08-23 22:00:16
LinkedList与ArrayList正好相对,同样是List的实现类,都有增删改查等方法,但是实现方法跟后者有很大的区别。先归纳一下LinkedList包含的API1、构造函数:①LinkedList()  起始没有元素②LinkedList(Collection<? ...

LinkedList与ArrayList正好相对,同样是List的实现类,都有增删改查等方法,但是实现方法跟后者有很大的区别。

先归纳一下LinkedList包含的API

1、构造函数

①LinkedList()  起始没有元素

②LinkedList(Collection<? extends E> collection)  用另一个集合构造LinkedList

2、增加元素:

①void add(int location, E object)  在指定索引处新增元素

②boolean add(E object)  在链表末尾添加元素,总是返回true

③boolean addAll(int location, Collection<? extends E> collection)  在指定索引处添加一个集合的所有元素,添加成功返回true,否则返回false

④boolean addAll(Collection<? extends E> collection)  在链表末尾添加集合的所有元素,添加成功返回true

⑤void addFirst(E object)  在链表首部添加一个元素

⑥void addLast(E object)  在链表末尾添加一个元素

3、删除元素:

①E remove(int location)  删除指定索引处的元素

②boolean remove(Object object)  删除参数指定的元素,只删除第一次出现的那个

③E removeFirst()  删除头部元素

④E removeLast()  删除尾部元素

⑤boolean removeFirstOccurrence(Object o)  同②,删除第一次出现的元素

⑥boolean removeLastOccurrence(Object o)  删除最后一次出现的指定元素

⑦E remove()    同③,删除头部元素

⑧void clear()    清空所有元素

4、修改元素:

 E set(int location, E object)   修改指定位置的元素值吗,返回修改处旧的元素值

5、查找元素:

①boolean contains(Object object)  确定是否包含指定的元素

②E get(int location)    获取指定索引处的元素

③E getFirst()    获取头部结点的元素值

④E getLast()    获取尾部结点的元素值

⑤int indexOf(Object object)  获取指定元素第一次出现时的索引,找不到返回-1

⑥int lastIndexOf(Object object) 获取指定元素最后一次出现时的索引,找不到返回-1

6、队列相关操作:

(1)boolean offerFirst(E e)  在队首添加元素

(2)boolean offerLast(E e)  在队尾添加元素

(3)E peekFirst()    获取队首元素,没有元素返回null

(4)E peekLast()    获取队尾元素

(5)E pollFirst()     删除队首元素,并返回被删元素,没有元素可删返回null

(6)E pollLast()     删除队尾元素,并返回被删元素,没有元素可删返回null

(7)E pop()       作为栈操作,弹出栈顶元素,即返回并删除队首元素

(8)void push(E e)   作为栈操作,压入新元素,即在队首加入元素

(9)boolean offer(E o)  将指定元素入队,即在队尾加入该元素

(10)E poll()      同pollFirst,删除队首元素,并返回该元素

(11)E remove()    同pollFirst,删除队首元素,并返回该元素

(12)E element()     返回队首元素,但并不删除

 

下面进行API源码分析

public class LinkedList<E> extends AbstractSequentialList<E> implements    List<E>, Deque<E>, Queue<E>, Cloneable, Serializable

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Java源码分析之LinkedList

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。