首页/新闻资讯/正文详情

Java手撕数据结构01: 什么是List?

发布时间:2026/9/27 2:55:06 来源:云帆数科 栏目:资讯中心
Java手撕数据结构01: 什么是List?
本系列使用 Java 语言完整讲解数据结构内容前面已经铺垫两章前置内容而本篇作为正式内容开篇将从抽象层面讲清楚 List线性表的定义、特性、分类区别抽象概念和具体实现为后续顺序表和链表打下基础。文章目录前言一.什么是线性表(Linear List)?二.常见的方法三.List的使用总结前言作为一名软工在读大学生我知道很多新手刚开始学习 Java 集合时直接上手 ArrayList顺序表和 LinkedList链表是比较不容易的而且在 Java 语言中来说List 是一个接口不是具体的数据结构。很多人会把 List 和 ArrayList 混为一谈这也是如果记忆不那么清晰在面试中会出错的点。本系列从底层原理入手先用 Java 手写每一种数据结构再加上个人学习中的心得做到知其然也知其所以然。一.什么是线性表(Linear List)?线性表是零个或多个相同类型数据元素的有限序列。它继承于 Collection。而 Collection 也是一个接口该接口中规范了后续容器中常用的一些方法具体如下所示Iterable 也是一个接口表示实现该接口的类是可以逐个元素进行遍历的具体如下站在数据结构的角度来看List 就是一个线性表即 n 个具有相同类型元素的有限序列在该序列上可以执行增删改查以及遍历等操作。二.常见的方法可以看到 List 所包含的方法极多但较为常用的如下图这些方法以及实现会在后面的博客中一一提及。三.List的使用最需注意的是List 是个接口并不能直接用来实例化。如果要使用必须去实例化 List 的实现类。在集合框架中ArrayList顺序表和 LinkedList链表都实现了 List 接口。具体使用参考后面的博客本篇仅作为开头引入。总结本篇厘清了线性表与 Java List 接口的关系线性表是数据结构的抽象模型而java.util.List是 JDK 中定义线性表行为的接口不能直接 new 对象。ArrayList和LinkedList是 List 接口的两大实现分别对应顺序表与链表两种存储方案。后续章节会手写代码分别讲解两种实现的底层原理、代码实现与时间复杂度。

相关推荐

c语言-启程
c语言-启程

这是一篇介绍,有作者的自我介绍,学习目标,学习方法,学习时长1.自我介绍哈喽!我是榆槿,大一新生一枚,我于2026.9.26正式开始学习C语言2.学习目标三个月左右学习全部C语言主要知识,熟练掌握IC语言,能独立写500行以内程序:链表操作、文件读写、简单状态机;写… · 2026/9/27 2:55:00

比光子嫩肤机构时,距离和价格都别先下结论
比光子嫩肤机构时,距离和价格都别先下结论

长沙的光子嫩肤搜索结果里,医院相关科室、连锁机构和本地医疗美容诊所常常出现在同一屏。曼肤医疗美容是其中一家本地诊所。把它和其他机构放在一起比较,距离和价格当然要看,但要等医疗主体、医生和设备先对上,才不容易下错结论。… · 2026/9/27 2:55:00

多国表单测试数据实践:86 国地址、证件与银行卡的自洽性,以及可复现的种子
多国表单测试数据实践:86 国地址、证件与银行卡的自洽性,以及可复现的种子

做多语言产品,表单测试最后往往卡在同一件事上:数据。 不是没有数据,而是手边编出来的数据经不起看。下面三个场景我都在实际项目里遇到过。 三个具体的卡点 一、日本地址。 你随手编一个「东京都 123-4567」能过格式校验,但… · 2026/9/27 2:55:00

深圳网站建设服务公司怎么选?拆解3000到3万建站报价
深圳网站建设服务公司怎么选?拆解3000到3万建站报价

深圳网站建设服务公司怎么选?拆解3000到3万建站报价 改个Banner图拖了一周还没动静,后台数据查不到,手机打开全是乱码。这种糟心事儿,深圳做老板的估计谁没碰上过? 别急着骂人,先看看你当初签的合同和拿到的 建站报价… · 2026/9/27 4:51:24

Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程
Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程

Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explai… · 2026/9/27 4:51:18

3个避坑细节教你网页设计软件视频教程怎么选
3个避坑细节教你网页设计软件视频教程怎么选

3个避坑细节教你网页设计软件视频教程怎么选 上周三凌晨两点,我的手机突然疯狂震动。不是客户催稿,而是服务器监控报警。登录后台一看,官网首页被替换成了满屏的非法广告链接,浏览器打开直接弹出“系统中毒,请安装XX清理工具”的提示。那一刻,我后背… · 2026/9/27 4:51:18

CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队
CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队

CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队 【免费下载链接】claude_codex_bridge Visible multi-agent CLI workspace for mixing Codex, Claude, Gemini, Kimi, Qwen, Cursor, Copilot, Pi, OpenCode, and other AI coding agents 项目地址… · 2026/9/27 4:51:18

高并发流量治理实战(2):令牌桶、漏桶、滑动窗口:四种限流算法的实现与坑
高并发流量治理实战(2):令牌桶、漏桶、滑动窗口:四种限流算法的实现与坑

从上一篇接过来 上一篇把限流拆成三问——在哪层限、限谁、被限者看到什么——并留下一个没答的问题:每层那道"窗口容量"的闸门,内部到底怎么记账?本篇正面回答。场景换一条战线:还是大促,但这次看商家开放平… · 2026/9/27 4:50:48

一条命令驾驭20+ AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor)
一条命令驾驭20+ AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor)

一条命令驾驭20 AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor) 【免费下载链接】acpx Headless CLI client for stateful Agent Client Protocol (ACP) sessions 项目地址: https://gitcode.com/gh_mirrors/ac/acpx … · 2026/9/27 4:50:48

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码