在做 App 开发时,你可能会遇到这样一个场景:要存储一组学生信息,包含姓名、年龄、班级,然后需要快速根据姓名查到对应的班级。用列表也能实现,用字典也能实现——那到底该用哪个?
本文从定义、创建、读写性能、JSON 兼容性等维度逐一 PK 字典(Dictionary)和列表(List)。
对比维度 | 字典 | 列表 |
|---|---|---|
数据组织方式 | 键→值映射 | 索引位置排列 |
查找元素 | 直接通过键获取 O(1) | 需遍历 O(n) |
JSON 原生支持 | ✅ 天然兼容 | ❌ 需转换 |
深层嵌套访问 |
| 需多层嵌套 |
深拷贝支持 | ✅ 内置复制块 | 需手动实现 |
场景 1:快速查找——字典完胜
做联系人查询时,字典可以直接通过姓名键获取电话,而列表需要遍历查找。数据量达到数千条时,字典的哈希表查找(O(1))远快于列表的线性查找(O(n))。
场景 2:JSON 数据处理——字典是标配
调用 Web API 返回的 JSON 数据,用字典搭配 获取键路径的值 块,可以一步取出深层嵌套数据,列表则需要逐层解包。
场景 3:频繁增删改查——字典更灵活
按日期记账的场景下,字典以日期为键直接覆盖或删除,列表则需维护索引位置。
场景 4:字典 ↔ 列表灵活转换
App Inventor 2 提供 键值对列表转换为字典 和反向块,让数据可以灵活切换形态。
字典擅长键值映射、查找极快、天然对接 JSON;列表擅长有序集合、创建简单。高级用法是两者混用,通过转换积木灵活切换。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。