集合框架(二)LinkedList的常见使用

Hi i,m JinXiang


⭐ 前言 ⭐

本篇文章主要介绍LinkedList的常见使用以及部分理论知识

🍉欢迎点赞 👍 收藏留言评论 📝私信必回哟😁

🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言


目录

⭐什么是List集合?

LinkedList的基本概念

LinkedList的常见使用

1、新增

2、删除

3、修改/查看

4、获取数据


⭐什么是List集合?

ArrayList,LinkedList,Vector都是隶属于List集合的一种;

集合List

LinkedList的基本概念

  • 1、线性表(List)的链式储存结构称为链表
  • 2、链表分为单链表双链表
  • 3、单链表中的节点包含data(数据)和 next(指向下一个节点的指针), 开销更小
  • 4、双链表中的节点包含data和next和prev(指向上一个节点的指针), 功能更强
  • 5、所有链表都有头节点, 头节点如果包含data, 则是第一个数据节点, 如果头节点不包含data, 则是附加头节点(sentry head), 使用附加头节点会简化代码
  • 6、写测试代码检查各个方法是否正确:

检查方法是否正确:1.检查一般情况下成立 2. 检查初始情况下成立 3. 更新必要的成员变

LinkedList的常见使用

1、新增
java 复制代码
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、删除
java 复制代码
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、修改/查看
java 复制代码
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、获取数据
java 复制代码
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 双链表实现了ListDeque接口。 实现所有可选列表操作,并允许所有元素(包括null )所有的操作都能像双向列表一样预期。 索引到列表中的操作将从开始或结束遍历列表,以更接近指定的索引为准。有关详细信息,请参阅博客jdk_api_1.8-JAVA中文版API手册(免费版)中提供的APL工具,查看各个实体文档和子类文档进行深入了解!

总结不易,希望uu们不要吝啬亲爱的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

相关推荐
团子的二进制世界几秒前
G1垃圾收集器是如何工作的?
java·jvm·算法
Max_uuc4 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
故事不长丨4 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3165 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
牵牛老人7 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
froginwe1115 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
rannn_11132 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
灵感菇_34 分钟前
Java HashMap全面解析
java·开发语言
杜子不疼.35 分钟前
PyPTO:面向NPU的高效并行张量编程范式
开发语言
qq_124987075336 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计