深入探索Objective - C集合模式
1. 字典集合
1.1 概述
NSDictionary、NSMutableDictionary和NSMapTable用于组织无序的对象对,类似于java.util.HashMap。每对由一个键对象和一个值对象组成,通过与键相等的对象来访问值。集合中的键是唯一的,但值可以重复。
1.2 与Java字典类的共同特征
- 集合中的键和值都是对象引用。
- 键对象的值不应改变。
- 键必须遵循相等性和哈希约定。
- 键是唯一的,为现有键存储新值会用新的键值对替换现有的。
- 单个值可以使用不同的键多次存储。
- NSMapTable可以对其键和/或值对象使用强引用或弱引用,是java.util.WeakHashMap的灵活替代。
1.3 关键差异
- 值对象不能为nil(null),nil值表示键不存在。若要存储无值的键,需从集合中移除该键。
- 键对象总是被复制,并且必须符合NSCopying协议,集合保留键对象的副本,而不是用于添加键值对的实例。
1.4 常用方法
1.4.1 非修改方法
| java.lang.HashMap | NSDictionary | NSMapTable |
|---|
超级会员免费看
订阅专栏 解锁全文
58

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



