NSArray:有序的集合,存储的元素在一个整块的内存中并按序排列(废话,我学过c语言的数组这还不知道啊);
NSSet:无序的集合,散列存储。
读developer.apple关于NSSet的解释:You can use sets as an alternative to arrays when the order of elements isn’t important and performance in testing whether an object is contained in the set is a consideration—while arrays are ordered, testing for membership is slower than with sets.
就是说,如果搜索一个元素,NSSet的效率会比NSArray高。为什么呢?刚开始迷糊了,原来道理比较简单:hash!NSSet中元素的存储和访问都是一个hash的过程。比如你要存储元素A,一个hash算法直接就能直接找到A应该存储的位置;同样,当你要访问A时,一个hash过程就能找到A存储的位置。而对于NSArray,若想知道A到底在不在数组中,则需要一个一个元素比较,显然效率没了。Just it!
分享到:
相关推荐
详细的说明和用法 NSArray,NSSet,NSDictionary 以及他们子类的说明
NSArray,NSSet,NSEnumerator,NSDictionary及对应Mutable介绍,有对应的实例代码
这是NSArray,NSSet,NSEnumerator,NSDictionary及对应Mutable介绍的示例程序,具体参考: http://blog.csdn.net/htttw/article/details/7884218
一些NSArray,NSDictionary,NSSet相关的算法知识1
主要介绍了iOS集合遍历(NSArray、NSDictionary、NSSet)的方法,文中给出了详细的方法示例,并总结了各个方法的优缺点来供大家学习参考,需要的朋友们下面来一起看看吧。
NSDictionary,NSArray,NSSet和NSString尚未隐式转换为Dictionary,Array,Set和String。 为了在这些类型之间进行转换,我们已向这些类型临时添加了一个协议,以允许对其进行转换。 有一种方法称为bridge() 。 ...
Objective C数组的内存布局要了解NSArray,NSSet,NSDictionary这些集合类的使法,我们需要先弄明其对应的内存布局(Memory L
每个返回NSArray或NSSet都会创建一个新对象,而不会改变原始对象。 如果您使用的是 ARC,则需要为这些文件关闭它,直到它们支持 ARC。 在 Target Settings -> Build Phases -> Compile Sources 下,找到 NSArray+...
## MCSCollectionUtility NSArray , NSSet和NSDictionary类别提供了许多使收集操作更容易和更干净的方法。 ##安装要在您的应用程序中使用MCSCollectionUtility,只需将“ Classes”文件夹拖到yout项目中,然后...
该库使Objective-C集合对象(例如NSDictionary , NSArray , NSSet和NSOrderSet )返回类似于JSON和Unicode的字符串。 在Xcode控制台中使用NSLog()或与LLDB或GDB进行交互以打印集合对象时,这将很有帮助。 如果您...
NSArray NSBundle NSData NSDate NSDictionary NSException NSFileManager NSObject NSSet NSString NSTimer NSURL UIKit UIBezierPath UIButton UIColor UIDevice UIImage UIImageView UILable ...
它为您提供了一组关于NSArray,NSDictionary和NSSet的扩展方法,以帮助您处理常见的操作(通常以功能方式)。 文献资料 完整文档可在获得。 使用CocoaPods安装 是Swift和Objective-C Cocoa项目的依赖项管理器。 您...
文档中包括: NSNumber,NSArray,NSString,NSDictionary,NSSet 属性以及相关方法
【无限互联】iOS开发视频教程课件第四章Foundation框架课件是由无限互联提供的iOS开发视频教程对应的课件,课件非常详细的讲解了Foudation框架里面的...包括: NSNumber、NSString、NSArray、NSDictionary和NSSet等。
但是,苹果对于我们的NSDictionary、NSSet、NSArray等值有中文时,打印出来的是Unicode编码,人类无法直接读懂,因此,笔者研究研究如何将打印出来的日志保持原有的格式化且能够将Unicode编码打印出来是正常人类可读...
支持的基础集合包括: NSArray , NSDictionary , NSOrderedSet和NSSet 。功能运算符过滤循环访问集合,并返回包含满足条件的元素的数组。 NSArray < NSNumber> *filteredArray = [@[ @ 13 , @ 42 , @ 0 ] fbl_...
这是iPhone常用集合类介绍的示例程序,具体参考: http://blog.csdn.net/htttw/article/details/7884218
Software engineering,programming language,operating system,iOS,OS,iPhone,iPad objective c,cocoa touch,...NSDate,NSArray,NSMutableArray,NSMutableDictionary,NSSet,NSOrderedSet,NSMutableSet,
这些宏为您提供了与其他语言中的集合文字相似的内容,而不是Cocoa提供的笨拙的[NSArray arrayWithObjects:...]语法。 ARRAY(a, b, c) -创建一个包含对象a,b和c的NSArray 。 SET(a, b, c) -类似于ARRAY ,但是创建...