这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战
今天继续~
LinkedList(链表)
- 链表是一种线性表,但是并不会按线性的顺序存储数据
- 分为单向链表和双向链表
单向链表
- 单向链表的一项中存在两个值:自己本身和下一个
双向链表
- 双向链表的一项中存在三个值:上一个和自己本身和下一个
ArrayList和LinkedList的使用场景
ArrayList
- 频繁访问列表中的某一个元素
- 只需要在列表末尾进行添加和删除操作
LinkedList
- 通过循环来访问列表元素
- 需要频繁的在任何位置进行添加和删除操作
创建LinkedList
- 创建LinkedList需要导入相应的包:
import java.util.LinkedList;
普通创建
LinkedList<E> list = new LinkedList<E>();
使用集合创建
LinkedList<E> list = new LinkedList(Collection<? extends E> c);
实例
import java.util.LinkedList;
public class Test{
public static void main(String[] args){
LinkedList<String> sites = new LinkedList<String>();
sites.add("Hello");
sites.add("World");
}
}
LinkedList常用方法
add(E e) - 末尾添加元素
add(int index,E element) - 向指定位置插入元素
addAll(Collection c) - 将一个集合添加到列表
addAll(int index,Collection c) - 将一个集合添加到指定索引位置
addFirst(E e) - 添加元素到头部
addLast(E e) - 添加元素到尾部
offer(E e) - 向链表末尾添加元素
offerFirst(E e) - 向头部插入元素
offerLast(E e) - 向尾部插入元素
clear() - 清空链表
removeFirst() - 删除第一个元素
removeLast() - 删除最后一个元素
remove(Object o) - 删除某一元素
remove(int index) - 删除指定位置的元素
poll() - 删除并返回第一个元素
remove() - 删除并返回第一个元素
contains(Object o) - 判断是否含有某一元素
get(int index) - 返回指定位置的元素
getFirst() - 返回第一个元素
getLast() - 返回最后一个元素
indexOf(Object o) - 查找指定元素第一次出现的索引
lastindexOf(Object o) - 查找指定元素最后一次出现的索引
peek() - 返回第一个元素
element() - 返回第一个元素
peekFirst() - 返回头部元素
peekLast() - 返回尾部元素
set(int index,E element) - 设置指定位置的元素
clone() - 克隆该列表
descendingIterator() - 返回倒序迭代器
size() - 返回链表元素个数
listIterator(int index) - 返回从指定位置开始到末尾的迭代器
toArray() - 返回一个由链表元素组成的数组
toArray(T[] a) - 返回一个由链表元素转换类型而形成的数组
今天就学到这里吧,晚安~