集合框架(二)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!!如有问题,欢迎评论区批评指正😁

相关推荐
mct12311 分钟前
c++ iconv 字符utf-8转换gb2312失败
开发语言·c++
龙虾PRO2 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
Marst Code2 小时前
Python 3.9 已停止维护!从 3.9 到 3.14 全版本深度对比,生产环境该选哪个?
开发语言·python
llwszx2 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO2 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质2 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
Gofarlic_OMS2 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
万岳科技系统开发2 小时前
智慧医院小程序开发推动医疗服务流程全面线上化
大数据·开发语言·人工智能
一只小灿灿2 小时前
C++ 修饰符全面详解
开发语言·c++
马里马里奥-3 小时前
从零搭建AI Agent工具链的技术文章大纲
开发语言·qt