12、哈希表(关联数组)

原创:夏克  发表时间:2005-6-3 2:09:04  点击次数:218

   
哈希表的生成: 

一个关联数组不通过下标来访问,而是通过主键(key)访问.这样的数组有时被叫作哈希(hash).将一对对的元素用逗号分隔开,并用大括号({})括起来,这样就组成了一个哈希表.你用一个关键字在哈希表里进行搜索,就像你在数组里用索引来提取数据一样.

例如:

a={" Allex"=>2000," 帆布背包 "=>2003} 


在这个例子中," Allex" 和 " 帆布背包 " 是主键(key),2000 和 2003 是实际的数值。这样,主键和数值之间用“ =>” 号连接,形成关系。

如果要取出实际的数值,如下所示:

a={" Allex"=>2000," 帆布背包 "=>2003} 
p a[" Allex"] # => 2000
p a[" 帆布背包 "] # => 2003
p a[" 中国"] # => nil
 

这里以字符串为key ,但对其他的数据类型也一样。

对哈希表元素的追加,如下示例:

a = {}   #建一个空表 
a = {}   #建一个空表 
a[" Allex"]=2000  #赋值
p a #=>{" Allex"=>2000}


哈希表属于Hash类的实例,可以调用这个类的相关方法。

例如删除一个元素:

a={" Allex"=>2000," 帆布背包 "=>2003} 
a.delete(" 帆布背包 ")
p a #=>{" Allex"=>2000}


查看是否包含某键值:

a={" Allex"=>2000," 帆布背包 "=>2003}
p a.include?(" Allex") # => true 
p a.include?(" 中中中 ") # => false

 
取得 keys 的方法:

a = {3=>6, 4=>10, 5=>15} 
p a.keys # => [5, 3, 4]
 

把keys放在for循环中:

a = {3=>6, 4=>10, 5=>15}
for k in a.keys
    p k
end 


如果使用 values,可以取得数值方面的一览表。

a = {3=>6, 4=>10, 5=>15}

for v in a.values
    p v
end 
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。
 

 

 

版权所有(C) RUBY中文化计划