美文网首页
Objective中的 ==和isEqual ,hash方法

Objective中的 ==和isEqual ,hash方法

作者: 笙绳省盛 | 来源:发表于2018-11-05 10:10 被阅读7次

    1.对于基本类型 ==运算符表示的是值是否相同,对于对象类型,==运算符表示的是对象的地址是否相同(表示是否是同一个对象)。
    2.isEqual可以判断2个对象是否相同。
    3.hash方法只在对象被添加至NSSet和设置为NSDictionary的key时会调用
    NSSet添加新成员时, 需要根据hash值来快速查找成员, 以保证集合中是否已经存在该成员
    NSDictionary在查找key时, 也利用了key的hash值来提高查找的效率

    hash方法主要是用于在Hash Table查询成员用的
    hash值是对象判等的必要非充分条件
    4.集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址;不过NSArray是有序的集合,NSSet是无序的集合。
    集合是一种哈希表,运用散列算法,查找集合中的元素比数组速度更快,但是它没有顺序。

    相关文章

      网友评论

          本文标题:Objective中的 ==和isEqual ,hash方法

          本文链接:https://www.haomeiwen.com/subject/gepjxqtx.html