java-LinkedList 所有方法介绍

订阅专栏

LinkedList是一个双向链表,一般可以把它当成栈和队列使用。详细源码分析看这里。

链表主要维护3个成员:第一个元素;最后一个元素;以及链表长度。

所有方法如下:

总结,除了add和offer方法,其他增删查最后一个元素的方法中,方法名都带last。不带first和last的都是针对第一个元素,如:

peek pop poll push 都针对第一个元素

pop,getLast等找不到会报错。poll peek找不到不报错:

.

增加

加在最前面

void linkedFirst(e) 加在首位

void addFirst(e) ==linkedFirst

void push(e) ==addFirst

//offerFirst(e)

加在最后

void linkLast(e) 加在最后

void addLast(e) ==linkLast

//boolean offerLast(e)

boolean add(e) ==linkLast,true

//boolean offer(e) true

加在其他位置

void linkBefore(e,node) 加在node前面,node是已经在list中的

void add(index, e) 加在index位,index<=size

addAll(index,c) 集合插入index位置

删除

删除第一个

E removeFirst() == 删除并返回,没有则异常

E remove() ==removeFirst

E pop() ==removeFirst

E poll() 删除第一个并返回(没有则null)

E pollFirst() = poll

删除最后

removeLast()

pollLast()

删除指定

//unlink(Node x) 删除x

boolean remove(Object o) 根据值搜索删除这一个,值可以是null。

E remove(index) 删除指定位置这一个,==unlink(node(index))

removeFirstOccurrence(obj) 删除第一次出现的obj

removeLastOccurrence(obj)

修改

set(index, e)

查询

查看第一个

getFrist() 返回第一个,没有则异常

elements() ==getFrist

peek() 偷看第一个,没有则为null

peekFirst() ==peek

查看最后一个

getLast()没有则异常

peekLast()没有则为null

搜索查找

get(index)

int indexOf(obj) 第一次出现索引

int lastIndexOf(obj)

contains(obj)

其他

size()

clear()

boolean isPositionIndex() 判断目标位置在不在链表中

isElementIndex()

void checkPositionIndex(pos) 目标位置在不在链表中,不在会异常

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章