课程 276 / 365
76%
数据结构与算法直觉·理解·10 分钟
正文已完成

列表与映射,解决的是两种不同访问

从“按位置浏览”和“按键取值”两种访问方式,建立列表与映射的第一层工程直觉。

L276

数据结构规定了数据的访问方式。列表擅长保持顺序并逐项处理,映射擅长凭唯一键直接定位;先问访问方式,往往比先背 API 更接近正确选择。

这一课的结果

能根据数据最常见的访问问题,解释为什么应使用列表、映射或二者组合。

核心概念

先把关键判断说清楚

01

列表保留次序

列表把元素放在有前后关系的位置上,适合时间线、步骤和需要完整遍历的集合。

02

映射建立键到值

映射用稳定且唯一的键定位记录,适合按订单号、用户 ID 或配置名快速读取。

03

访问模式决定结构

同一批数据既可能需要有序展示,也可能需要按 ID 查询,此时可以用列表保存顺序、用映射建立索引。

案例拆解

客服工单页的两层数据结构

页面既要按创建时间展示 500 条工单,又要在收到更新事件时凭工单 ID 找到对应记录。

  1. 01

    用列表维护当前筛选条件下的展示顺序。

  2. 02

    用工单 ID 到工单对象的映射承担事件更新时的定位。

  3. 03

    更新后只替换映射中的记录,并同步列表中引用的对象。

案例结果

顺序展示与按键更新不再互相牵制,数据结构直接对应两种访问需求。

提交前练习

现在轮到你

为一个真实数据集合判断主要访问方式,并选择列表、映射或组合。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

数据集合是最近浏览课程;主要访问是按时间倒序展示,同时按课程 ID 合并重复访问;选择是列表保存最近顺序,映射记录每个课程的最后访问时间,再按时间生成列表。

评分标准

  • 访问问题描述具体
  • 结构与访问方式匹配
  • 组合结构说明了各自职责

本课收口 · 学习证据

完成,不等于随手打一个勾。

确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。

0 / 3
02完成本课练习0 / 3 项必填内容已填写
03通过理解检查约 30 秒
哪种场景最直接需要映射而不是只有列表?
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。

资料来源

继续核对与延伸阅读

本课内容最近更新于