iOS NSDictionary内部实现

NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的。
hash函数设计的好坏影响着数据的查找访问效率,数据在hash表中分布的越均匀,其访问效率越高。
在Objective-C中,通常都是利用NSString 来作为键值,其内部使用的hash函数也是通过使用 NSString对象作为键值来保证数据的各个节点在hash表中均匀分布。
在调用 setObject: forKey: 后,内部会去调用 key 对象的 hash 方法确定 object 在hash表内的入口位置,然后会调用 isEqual 来确定该值是否已经存在于 NSDictionary中。

摘自cocochina。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容