LinkedList作为List集合的一种实现类,其中和ArrayList的底层实现方式的不同在于,ArrayList的底层是由数组来实现,那么这样的底层就决定了ArrayList的读取速度会比较快,毕竟访问的是一个连续的内存地址,但是带来的弊端就是查询和修改会比较麻烦,需要遍历,再进行对应的读取和位移。这个时候LinkedList的优势便体现了出来,其底层由双向链表构成这点可以保证其修改,只需要针对指定节点的前后指向进行修改即可,那么LinkedList有哪些常用的方法呢?下面分类型进行汇总:
add(E e):在链表后添加一个元素; 通用方法 addFirst(E e):在链表头部插入一个元素; 特有方法 addLast(E e):在链表尾部添加一个元素; 特有方法 push(E e):与addFirst方法一致 offer(E e):在链表尾部插入一个元素 add(int index, E element):在指定位置插入一个元素。 offerFirst(E e):JDK1.6版本之后,在头部添加; 特有方法 offerLast(E e):JDK1.6版本之后,在尾部添加; 特有方法
remove() :移除链表中第一个元素; 通用方法 remove(E e):移除指定元素; 通用方法 removeFirst(E e):删除头,获取元素并删除; 特有方法 removeLast(E e):删除尾; 特有方法 pollFirst():删除头; 特有方法 pollLast():删除尾; 特有方法 pop():和removeFirst方法一致,删除头。 poll():查询并移除第一个元素 特有方法
get(int index):按照下标获取元素; 通用方法 getFirst():获取第一个元素; 特有方法 getLast():获取最后一个元素; 特有方法 peek():获取第一个元素,但是不移除; 特有方法 peekFirst():获取第一个元素,但是不移除; peekLast():获取最后一个元素,但是不移除; pollFirst():查询并删除头; 特有方法 pollLast():删除尾; 特有方法 poll():查询并移除第一个元素 特有方法
