Java集合-LinkedList略解
Java集合-LinkedList略解
Wang ChenHanLinkedList集合
LinkedList集合实现了List,Queue,Duque等接口,可以作为集合或队列使用
LinkedList集合的底层是双向链表,因此,LinkedList适合做大量增删操作,不适合做元素查询操作
双向链表简介:
双向链表的每个节点有三个值:此节点存储的元素,前一个节点存储的元素(first),后一个节点存储的元素(last)
当链表为空时,first和last都指向null
创建LinkedList实例:
1 | import java.util.*; //导入LinkedList所在的util包 |
结果:
1 | [Hexo, blogxw] |
LinkedList新增方法
LinkedList在List的基础上新增了许多方法,使增删元素更便捷。
1.在头部添加元素 使用addFirst()方法
1 | List l = new LinkedList(); |
结果:
1 | [Github,CSDN,gitee] |
2.在尾部添加元素 使用addLast()方法
1 | List l = new LinkedList(); |
结果:
1 | [Github,CSDN,gitee,Bilibili]; |
3.删除头部元素 使用removeFirst()方法
1 | List l = new LinkedList(); |
结果:
1 | [CSDN,gitee,Bilibili] |
4.删除尾部元素 使用removeLast()方法
1 | List l = new LinkedList(); |
结果:
1 | [Github,CSDN,gitee] |
5.获取头部元素 使用getFirst()方法
1 | l.add("CSDN"); |
结果:
1 | Github |
6.获取尾部元素 使用getLast()方法
1 | l.add("CSDN"); |
结果:
1 | Bilibili |
常用方法:
- public boolean add(E e) 链表末尾添加元素,返回是否成功,成功为 true,失败为 false。
- public void add(int index, E element) 向指定位置插入元素。
- public boolean addAll(Collection c) 将一个集合的所有元素添加到链表后面,返回是否成功,成功为 true,失败为 false。
- public boolean addAll(int index, Collection c) 将一个集合的所有元素添加到链表的指定位置后面,返回是否成功,成功为 true,失败为 false。
- public void addFirst(E e) 元素添加到头部。
- public void addLast(E e) 元素添加到尾部。
- public boolean offer(E e) 向链表末尾添加元素,返回是否成功,成功为 true,失败为 false。
- public boolean offerFirst(E e) 头部插入元素,返回是否成功,成功为 true,失败为 false。
- public boolean offerLast(E e) 尾部插入元素,返回是否成功,成功为 true,失败为 false。
- public void clear() 清空链表。
- public E removeFirst() 删除并返回第一个元素。
- public E removeLast() 删除并返回最后一个元素。
- public boolean remove(Object o) 删除某一元素,返回是否成功,成功为 true,失败为 false。
- public E remove(int index) 删除指定位置的元素。
- public E poll() 删除并返回第一个元素。
- public E remove() 删除并返回第一个元素。
- public boolean contains(Object o) 判断是否含有某一元素。
- public E get(int index) 返回指定位置的元素。
- public E getFirst() 返回第一个元素。
- public E getLast() 返回最后一个元素。
- public int indexOf(Object o) 查找指定元素从前往后第一次出现的索引。
- public int lastIndexOf(Object o) 查找指定元素最后一次出现的索引。
- public E peek() 返回第一个元素。
- public E element() 返回第一个元素。
- public E peekFirst() 返回头部元素。
- public E peekLast() 返回尾部元素。
- public E set(int index, E element) 设置指定位置的元素。
- public Object clone() 克隆该列表。
- public Iterator descendingIterator() 返回倒序迭代器。
- public int size() 返回链表元素个数。
- public ListIterator listIterator(int index) 返回从指定位置开始到末尾的迭代器。
- public Object[] toArray() 返回一个由链表元素组成的数组。
- public T[] toArray(T[] a) 返回一个由链表元素转换类型而成的数组。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果