当前位置: 首页 > news >正文

数据结构:4.List的认识

【目标】

本章旨在理解和总结关于 List 的一些具体实现这些具体实现类之间的关系。

声明:数据结构的具体实现远不止有以下部分,只是以下部分是数据结构的核心部分。本章我们特来对其进行简单的理解。

数据结构核心部分按照逻辑关系进行划分(概念上的划分):

数据结构核心部分按照JAVA内置数据结构实际实现继承关系进行划分(实际上的关系):

关于这一张图,是JAVA内置的对于数据结构核心概念实现之间的关系,本章讲述的是和List(线性表)有关的类的实现以及这些类的具体关系

一、以下DeepSeek关于Iterable和 Collection 的补充:

1. Iterable 是迭代作用,就是为了实现遍历功能,别的就没了。

对。

Iterable只有一个核心职责:返回一个迭代器让你能用for-each循环。

它没有addremovesize等方法。

public interface Iterable<T> { Iterator<T> iterator(); // 就这一个核心方法 }

(迭代器:就是一个“游标对象”,它通过hasNext()next()两个方法,让你统一遍历各种集合(数组、链表、树等),而不需要知道集合的内部结构)


2. Collection 是写了他们共有的方法,核心来说就是代码的共性提取的产物。

对。

CollectionListSetQueue共有的方法抽到一层,避免重复定义。

public interface Collection<E> extends Iterable<E> { int size(); boolean isEmpty(); boolean contains(Object o); boolean add(E e); boolean remove(Object o); void clear(); // ... 其他共性方法 }

3. 里面包括有增删查改但不限于此的方法。

对。
增删查改是核心,还有size()isEmpty()clear()等。


4. 但需要注意的是,他们都是接口。

对。
不能直接new Iterable()new Collection(),必须由具体类实现。


5. 都需要在具体的数据结构实现(比如 ArrayList)。

对。

ArrayList实现了ListList继承了CollectionCollection继承了Iterable

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable { // 实现了所有方法 }

二、关于List(线性表)

List继承自Collection,其中有三个子类分别为ArrayList(顺序表)、LinkedList(链表)、Stack(栈)

至于具体的:是怎么实现的?底层实现分别依靠什么?这其中分别有什么不同点?等等问题,我们放到后续章节来进行逐个讲解。

http://www.jsqmd.com/news/867949/

相关文章:

  • 告别检测卡点,okbiye 智能双优化破解毕业论文查重与 AI 识别难题
  • 【SOA仿真8】TMM多层膜计算器-使用说明
  • 解决Keil MDK 5.40与瑞萨FSP的hal_entry链接错误
  • 【Python】免费的中文 AI 配音方案
  • AI、二体与三体(多体)问题
  • 通风设备技术解析:从采光排烟天窗到玻璃钢风机的选型与工程实践
  • Backtracking 回溯算法
  • 第一章:Go 语言开发的大模型调用框架 - Eino
  • QQ空间说说备份终极指南:GetQzonehistory完整教程
  • SHE 密钥注入的“通配符魔法”:从 UID 通配到 AUTOSAR 分层落地
  • 新手开发者第一步从零开始调用大模型完成对话
  • 聚氨酯胶辊到底能用在哪些行业?
  • 推理框架负责人 — 学习路线 (inference-framework-learning-path)
  • 量子优化算法ITEMC:原理、实现与应用
  • 打开U盘文件夹变成.exe的问题:在MAC ios中的解决办法
  • 旋转图像:从矩阵转置、镜像到坐标变换的系统理解
  • QuantDinger 本地部署实战:5 分钟跑通 AI 量化系统,值不值?
  • 收藏!2026年AI风口来袭,普通人也能抓住高薪机会,附7步学AI路线图
  • 熵与编码:工业数据压缩的数学奥秘
  • 深入理解关系数据库三范式
  • 气动黄油机核心技术解析:泵的选择与厂家评估方法论
  • 东莞AI培训排名情况分析与技术问题排查实践
  • 口碑好的经销商管理系统哪家
  • NotebookLM样本量计算实战手册(含Python自动计算脚本+置信度校验表)
  • Keil MDK中实现原始以太网数据接收与协议处理
  • 微信小程序年度费用全拆解:SaaS、开源与定制开发的3年成本实测对比
  • 指针(一)
  • 推荐1款提升办公效率神器,文件(夹)批量重命名工具
  • Servlet 表单数据处理指南
  • 独立开发者如何利用Taotoken一站式解决模型选型与接入难题