LinkedList学习
-
LinkedList定义:
-
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是再每一个节点里存到下一个节点的地址;
-
链表可分为单向链表和双向链表;
-
单向链表包含2个值:当前节点的值和一个指向下一节点的连接;
-
双向链表有3个值:数值,向后的节点连接,向前的节点连接;
-
LinkedList:增加和删除的操作效率高,而查找和修改的操作效率低;
-
-
以下情况使用ArrayList:
-
频繁访问列表中的某一个元素;
-
只需要在列表末尾进行添加和删除元素;
-
-
以下情况使用LinkedList:
-
需要通过循环迭代来访问列表中的某些元素;
-
需要频繁的在列表开头,中间,末尾等位置进行添加和删除元素操作;
-
-
LinkedList语法:
LinkedList<E> list=new LinkedList<E>();//普通创建方法
//创建一个链表实例
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
System.out.println(list);//[Google, baidu, haha]
}
}
-
LinkedList的常用方法:
-
在列表头部插入元素:addFirst( );
-
代码案例:
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
list.addFirst("First");//直接插入元素值
System.out.println(list);//[First, Google, baidu, haha]
}
}
-
-
在列表头部移除元素:removeFirst( );
-
代码案例:
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
list.removeFirst();//无参数,直接移除
System.out.println(list);//[baidu, haha]
}
}
-
-
在列表表结尾插入元素:addLast( );
-
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
list.addLast("First");//直接插入元素值
System.out.println(list);//[Google, baidu, haha, First]
}
}
-
-
在列表表结尾删除元素:removeLast( );
-
代码案例:
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
list.removeLast();//无参数,直接移除
System.out.println(list);//[Google, baidu]
}
}
-
-
获取列表第一个元素:getFirst( );
-
代码案例:
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
System.out.println(list.getFirst());//Google
}
}
-
获取列表最后一个元素:getLast( );
-
代码案例:
public class ListDemo04 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
list.add("Google");
list.add("baidu");
list.add("haha");
System.out.println(list.getLast());//haha
}
}
-
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具