LinkedList用法详解
https://blog.csdn.net/u013970897/article/details/106877472
一、LinkedList简单介绍
LinkedList是List接口的实现类,因此也实现了List的方法。但LinkedList是采用链表结构的方式来实现List接口的,因此在进 行insert 和remove动作时效率要比ArrayList高。
二、LinkedList的用法介绍
1、add和push
通过这两种方法均可对LinkedList进行元素添加,但不同点在于add是在链表后面添加一个元素,而push是在链表前 面 添加一个元素,这是添加顺序上的区别。
其他添加方法介绍:
boolean add(E e):在链表后添加一个元素,如果成功,返回true,否则返回false;
void addFirst(E e):在链表头部插入一个元素;
addLast(E e):在链表尾部添加一个元素;
void add(int index, E element):在指定位置插入一个元素。
下面是代码演示:
对应的输出结果:
2、get方法
get(int index):按照下边获取元素;
getFirst():获取第一个元素;
getLast():获取最后一个元素;
下面是代码演示:
输出结果:
3、remove 、pop、poll移除方法
remove();移除链表中第一个元素;
boolean remove(Object o):移除链表中指定的元素;
remove(int index):移除链表中指定位置的元素;
removeFirst():移除链表中第一个元素,与remove类似;
removeLast():移除链表中最后一个元素;
boolean removeFirstOccurrence(Object o):移除链表中第一次出现所在位置的元素;
boolean removeLastOccurrence(Object o):移除链表中最后一次出现所在位置的元素;
pop():与removeFirst一样,实际上它就是removeFirst;
poll():查询并移除第一个元素;
下图是代码以及结果演示:
从上图中可以看到,当链表为空时poll返回null,而pop产生异常。
4、peek获取
peek():获取第一个元素,但是不移除;
peekFirst():获取第一个元素,但是不移除;
peekLast():获取最后一个元素,但是不移除;
下图是代码及结果演示:
5、offer插入方法
boolean offer(E e):在链表尾部插入一个元素;
boolean offerFirst(E e):与addFirst一样,实际上它就是addFirst;
boolean offerLast(E e):与addLast一样,实际上它就是addLast;
6、其他方法
contains(Object obj):判断链表中是否包含某个元素,返回值为true或false;
element():获得链表的第一个元素但不删除
set(int position,Object obj):将链表中第position个元素修改为obj;
subList(int start,int end):取中间元素,但顾头不顾尾;