LinkedList
1.LinkedList是什么?
LinkedList实现了List接口和Deque接口,Cloneable,是一种链表类的结构。因为实现了Deque接口,又有队列的特性。LinkedList底层是一个双端的链表。
2.它的优缺点呢?
它的优缺点正好和ArrayList相反。增删快。查询慢。
它继承了那些接口,赋予的它什么样的特性呢?
linkedList继承了 AbstractSequentialList,List,Deque,Cloneable,java.io.Serializable接口。
实现AbstractSequentialList接口意味着它可以被当作堆栈,队列或者双端队列来使用。
实现list接口意味着它能对列表进行操作。
实现Deque接口意味着它能被当作双端队列来使用。
实现了Cloneable接口意味着可以进行clone。
实现了java.io.Serialiable接口意味着LinkedList可以支持序列化,可以通过序列化去传输。
3.他是如何形成一个链表结构的呢?
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();