Ruby 数据结构与算法:映射与哈希
1. 映射接口
映射(Map)接口是集合(Collection)接口的子接口。它包含了 (K, T) 抽象数据类型(ADT)映射的所有操作,但 has_value?() 操作除外,其功能由集合接口中的 contains?() 操作完成。
映射接口的操作如下:
- [](key : K) : T :根据键获取值,前提是 has_key?(key) 为真。
- []=(key : K, value : T) :设置键值对。
- delete(key : K) :删除指定键的键值对。
- has_key?(key : K) : Boolean :判断是否包含指定键。
- has_value?(value : T) : Boolean :判断是否包含指定值。
作为集合的一种,映射有相关的外部迭代器(通过集合的 iterator() 操作返回)和内部迭代器(来自 Enumerator 的 each() 方法)。在 Ruby 中,方便的做法是让外部和内部迭代器遍历映射,并将键值对作为一个包含两个元素的数组返回,第一个元素是键,第二个元素是值。
2. 映射 ADT 的连续实现
和集合一样,使用数组或 ArrayList
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



