seegongsik
编程

什么是键值对

在数组里,我们按位置编号取值(第8课)。可有时想按名字来找,而不是按编号。就像找朋友的电话号码时,你会找“敏洙”,而不是“第47个人”。我们来看看怎样凭名字标签直接取值。

01

用名字标签代替编号

第8课的数组是排成一排的盒子,按1号、2号、3号……这样的位置编号取值。
可是查字典时,你不会想“第325个词”,直接翻到“苹果”就能看到意思。
键和值就是这样凭名字标签来找的。

选个名字

选一个名字,不用知道位置编号,那个值马上就出来了。

不用数编号。
只要知道名字,就能直接找到那个值。
那么,这些名字标签和里面的内容,到底是怎样配成对的?

02

配对:键和值

每一格总是两个一对:名字标签(键)和里面装的内容(值)。
比如“苹果”(键)→ 'apple'(值),“敏洙”(键)→ '010-1234'(值)。
叫一声键,配对的值就跟着出来。

把键连到值上,两者就结成“键 → 值”这一对。

键是决定去哪里找的名字,值是真正装着的内容。
把这样的对子大量收集起来,就是字典。
可是对子一多,怎样才能快速找到想要的那一个?

03

不用排队找

就算有一千个值,键和值也不会从头一个个扫过去。
它看一眼名字标签,就直接去那一格。
在数组里,不知道位置就得从1号开始翻,有了键就能一步到位,这就是快的秘诀。

一个个
1
2
3
4
5
6
用名牌
?
?
?
?
Mina
?

左边一个个翻找,右边凭名字标签一步到达。按“查找”,就能看出两种方式的差别。

只要知道名字,就不用绕远路。
所以键和值特别擅长从许多东西里快速取出一个。
最后,名字标签有一条必须遵守的规则。

04

名字标签不能重复

规则只有一条:同一个名字标签只能用一次。
新标签想加多少都行,但要是往已有的标签里放新值,旧值就会被抹掉,换成新值。

Mina → 010-2345
Tom → 010-7788

放进新标签,格子就多一个;再放一次同样的标签,旧值就换成新值。

因为名字标签不重复,叫一声“敏洙”就不会弄混。
每次都正好得到一个值。
这种简单的对子,其实到处都藏着。

05

到处都有的对子,以及更远处

字典(词→意思)、设置(项目→值)、通讯录(名字→号码)、游戏背包(道具→数量),全都是键和值。
这是整理资料最常见的方法之一。
下一课我们来看,怎样把这样的标签打包成一块,当作一个东西来处理。

Mina → 010-2345
全是同样的键 → 值

依次点通讯录、设置、背包这几个标签页,就会发现三者都是同样的“键 → 值”。

继排成一排的数组(第8课)之后,凭名字标签查找的键和值也到手了。
现在按编号、按名字都能处理资料了。
下一课是对象:把好几个标签装进一个盒子,打包成一个东西。

一句话总结键和值是“名字标签 → 内容”的一对。不用编号,直接凭名字(键)取值,而且名字标签不会重复。字典、设置、通讯录都是这种方式。
← 编程
如果有帮助,请支持我们