1.若兩個對象相等,則其哈希碼(hash)也相等,但是兩個哈希碼相同的對象卻未必相等。
iOS 中hash的重寫
如果重寫isEqual方法,一定要重寫hash方法。
重寫的hash方法一定要簡單,因爲如果你的對象存在字典或者集中,hash方法會頻繁的調用。
相同的對象一定要返回相同的hash值,但是有相同的hash值的對象不一定是同一個對象,這是就是產生了碰撞,但是我們要讓產生這種情況的機會儘可能的少。
hash方法也可以這樣實現:
- (NSUInteger)hash {
NSString *stringToHash = [NSString stringWithFormat:@""%@:%@,_firstName,_lastName];
return [stringToHash hash];
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
關於bundle的小知識
小葡萄没有皮
2020-07-08 09:38:20
#warning的用處
爲了在下班後的第二天 提示你#warning標記的地方 你並沒有完成。 爲了在N多天後 提示你#warning標記的地方 你並沒有完成。
小葡萄没有皮
2020-07-08 09:38:20
編譯時 報錯處理(二)id類型
小葡萄没有皮
2020-07-08 09:38:20
webView去掉拖拽市的黑灰背景色
第一種: for (UIScrollView* viewin self.webView.subviews) { if ([viewisKindOfClass:[UIScrollViewclass]])
小葡萄没有皮
2020-07-08 09:38:20
iOS 支付寶支付集成(未編輯完)
小葡萄没有皮
2020-07-08 09:38:20
webView接入本地html圖片 解決不顯示問題
小葡萄没有皮
2020-07-08 09:38:20
005-NSDictionary
子非墨也
2020-07-08 07:14:45
欲瘦其包,必先探清其底細
阿里技术官方号
2020-07-08 00:43:28
iOS瘋狂詳解之TableView以及TableViewCell背景設置
吊炸天-狂人
2020-07-07 21:45:48
iOS瘋狂詳解之將攝像頭捕獲的視頻數據轉爲jpeg格式
吊炸天-狂人
2020-07-07 21:45:48
iOS瘋狂詳解之多線程GCD
吊炸天-狂人
2020-07-07 21:45:48
iOS瘋狂詳解之設備前後攝像頭切換
吊炸天-狂人
2020-07-07 21:45:47
iOS瘋狂詳解之中如何添加應用自己的字體
吊炸天-狂人
2020-07-07 21:45:47