LinkedList
LinkedList其实也就是我们在数据结构中的链表,这种数据结构有这样的特性:
- 分配内存空间不是必须是连续的;
- 插入、删除操作很快,只要修改前后指针就OK了,时间复杂度为O(1);
- 访问比较慢,必须得从第一个元素开始遍历,时间复杂度为O(n);
添加元素 add
boolean add(E e):在链表后添加一个元素,如果成功,返回true,否则返回false;
void addFirst(E e):在链表头部插入一个元素;
void addLast(E e):在链表尾部添加一个元素;
void add(int index, E element):在指定位置插入一个元素。
移除元素 remove
E remove();移除链表中第一个元素;
boolean remove(Object o):移除链表中指定的元素;
E remove(int index):移除链表中指定位置的元素;
E removeFirst():移除链表中第一个元素,与remove类似;
E removeLast():移除链表中最后一个元素;
boolean removeFirstOccurrence(Object o):移除链表中第一次Object o出现所在位置的元素;
boolean removeLastOccurrence(Object o):移除链表中最后一次Object o出现所在位置的元素;
获取元素 get
E get(int index):按照下边获取元素;
E getFirst():获取第一个元素;
E getLast():获取最后一个元素;
push、pop、poll
void push(E e):与addFirst一样,实际上它就是addFirst;
E pop():与removeFirst一样,实际上它就是removeFirst;
E poll():查询并移除第一个元素;
看样子pop()和poll()的功能是一样的,但是二者区别体现在当LinkedList为空的时候,
poll()会返回null,而pop()则会报错
peek
E peek():获取第一个元素,但是不移除;
E peekFirst():获取第一个元素,但是不移除;
E peekLast():获取最后一个元素,但是不移除;
如果没找到,则返回null
offer
boolean offer(E e):在链表尾部插入一个元素;
boolean offerFirst(E e):与addFirst一样,实际上它就是addFirst;
boolean offerLast(E e):与addLast一样,实际上它就是addLast;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律