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

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

相关推荐
栗子~~1 分钟前
SpringCloud Gateway 基于 Nacos 实现动态路由
java·spring cloud·gateway
FYKJ_20108 分钟前
django个性化新闻推荐35173-计算机课程设计、毕业设计
java·spring boot·后端·python·架构·django·课程设计
kimnoic10 分钟前
Python数据库sqlite3图文实例详解
开发语言·python
计算机毕设定制辅导-无忧学长18 分钟前
《校园食堂在线订餐小程序的设计与实现》
java·vue.js·spring boot·微信小程序·uniapp·校园食堂在线订餐小程序
夜之眷属23 分钟前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
IT研究室26 分钟前
最新计算机毕业设计选题推荐-基于spring boot的食品安全信息管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
老王爱玩车39 分钟前
文件操作从打开到缓冲区
c语言·开发语言·学习
Sayai1 小时前
MCP Server 开发实战:Spring AI 把后端日志查询暴露给 AI Agent(7 条设计原则与踩坑实录)
java·人工智能·ai agent·spring ai·mcp
大牧师1 小时前
Mybatis 框架教程
java·数据库·mybatis·数据持久化·orm
SunnyDays10111 小时前
Java 合并 PDF 文件:完整合并、指定页面合并与流合并
java·开发语言·合并pdf