我知道元素在NSSet和NSDictionary中的存储方式有所不同, https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Collections/Collections.html
但是从开发的角度来看,我什么时候应该使用NSSet vs NSDictionary? 两者的时间复杂度为O(1)
编辑:我遇到了问题 - 从数组中删除重复项。 一种解决方案将元素存储在NSDictionary中以删除重复项,另一种解决方案将元素存储在NSSet中。
我想知道哪种方法更好
答案 0 :(得分:4)
使用NSDictionary获取一些工作代码。然后用NSSet替换NSDictionary。走着瞧吧。启蒙应该遵循。
如果它不起作用,时间复杂度有什么用呢?
答案 1 :(得分:4)
NSSet
和NSDictionary
非常不同。 NSSet
是一组元素,同时NSDictionary
会保留键值对的列表,因此您可以在拥有密钥时直接访问Value
。将NSSet
与NSArray
进行比较而不是NSDictionary
进行比较更有意义。