集合框架(二)LinkedList的常见使用
Hi i,m JinXiang
⭐ 前言 ⭐
本篇文章主要介绍LinkedList的常见使用以及部分理论知识
🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁
🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言
⭐什么是List集合?
ArrayList,LinkedList,Vector都是隶属于List集合的一种;
集合List
- List代表了有序可重复集合,可直接根据元素的索引来访问。
- List接口常用的实现类有:ArrayList、LinkedList、Vector。
- java List集合(ArrayList,LinkedList,Vector)-CSDN博客
LinkedList的基本概念
- 1、线性表(List)的链式储存结构称为链表
- 2、链表分为单链表和双链表
- 3、单链表中的节点包含data(数据)和 next(指向下一个节点的指针), 开销更小
- 4、双链表中的节点包含data和next和prev(指向上一个节点的指针), 功能更强
- 5、所有链表都有头节点, 头节点如果包含data, 则是第一个数据节点, 如果头节点不包含data, 则是附加头节点(sentry head), 使用附加头节点会简化代码
- 6、写测试代码检查各个方法是否正确:
检查方法是否正确:1.检查一般情况下成立 2. 检查初始情况下成立 3. 更新必要的成员变
LinkedList的常见使用
1、新增
import org.junit.Test; import java.util.LinkedList; public class vector { /** * LinkedList的 * 增删改查操作 * */ @Test public void LinkedList_Test(){ LinkedList linkedList = new LinkedList<>(); //新增--添加一个数据 linkedList.add("HELLO WORLD!"); //新增--添加一个数据(在此列表中的指定位置插入指定的元素) } }
2、删除
import org.junit.Test; import java.util.LinkedList; public class vector { /** * LinkedList的 * 增删改查操作 * */ @Test public void LinkedList_Test(){ LinkedList linkedList = new LinkedList<>(); linkedList.add(1,"张三"); //删除--删除一个数据 linkedList.remove("你好"); //删除--删除一个数据(删除该列表中指定位置的元素) linkedList.remove(1); //删除--但不删除此列表的头(第一个元素) linkedList.element(); //删除--检索并删除此列表的头(第一个元素) linkedList.poll(); //删除--删除列表中所有数据 linkedList.clear(); } }
3、修改/查看
import org.junit.Test; import java.util.LinkedList; public class vector { /** * LinkedList的 * 增删改查操作 * */ @Test public void LinkedList_Test(){ LinkedList linkedList = new LinkedList<>(); //修改--修改一个数据(用指定的元素替换此列表中指定位置的元素) linkedList.set(1, "李四"); //返回此列表中的元素数 linkedList.size(); //查看所有信息 System.out.println(linkedList); } }
4、获取数据
import org.junit.Test; import java.util.LinkedList; public class vector { /** * LinkedList的 * 增删改查操作 * */ @Test public void LinkedList_Test(){ LinkedList linkedList = new LinkedList<>(); //获取元素--获取此列表中指定位置的元素 linkedList.get(1); //获取元素--此列表中的第一个元素 linkedList.getFirst(); //获取元素--此列表中的最后一个元素 linkedList.getLast(); } }
LinkedList 双链表实现了List和Deque接口。 实现所有可选列表操作,并允许所有元素(包括null )所有的操作都能像双向列表一样预期。 索引到列表中的操作将从开始或结束遍历列表,以更接近指定的索引为准。有关详细信息,请参阅博客 jdk_api_1.8-JAVA中文版API手册(免费版)中提供的APL工具,查看各个实体文档和子类文档进行深入了解!
总结不易,希望uu们不要吝啬亲爱的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁