一 集合
1. 不可变的,继承于NSObject, 不可变的集合,类似于数学中的集合.
2. 集合是无序的,集合中的元素是唯一的,
3. 空的集合(init 和 set)
NSSet *set = [[NSSet alloc]init]; {()}是集合的打印标识
NSSet *set = [NSSet set]; 便利构造器
4. 初始化(initWithObjects: 和 setWithObjects)
NSSet *set = [[NSSet alloc]initWithObjects:@”1”,@”2”,@”2”,nil];
去掉数组中的重复元素,使用集合中的 initWithArray方法可以把数组中重复的元素去掉
NSArray * array = [[NSArray alloc]initWithObjects:@”1”,@”2”,@”2”,nil];
NSSet *set3 = [[NSSet alloc]initWithArray:array];
5. 访问集合中的元素(访问集合中的第一个元素anyObject)
NSArray *ary = [set3 anyObject];
6. 集合中元素的个数(count)
NSUInteger n = [set3 count];
7. 判断集合是否包含某个元素(containsObject:)
BOOL result =[str containsObject:@”0”];
8. 判断一个集合是否是另一个集合的子集(isSubsetOfSet:)
NSSet *str = [NSSet setWithObjects:@”1”,@”2”,@”3”,nil];
NSSet *str1 =[NSSet setWithObjects;@”1”,@”2”,nil];
BOOL b = [str1 isSubsetOfSet:str];
9. 判断两个集合是否相等(isEqualToSet:)
[str isEqualToSet:str1];
10. 判断两个集合是否有交集(intersectsSet:)
[str intersectsSet:str1];
二 NSMutableSet
1. 可变集合,动态集合,继承自NSSet
2. NSMuTableSet *mSet =[[NSMutableSet alloc]initWithCapacity:0];
3. 添加元素(addObject: )
[mSet addObject:@”wangxiaoer”];
4. 删除元素(removeObject:)
[mSet removeObject:@”yuyuexi”];
5. 清空集合(removeAllObjects)
[mSet removeAllObjects];
三 总结
1. NSArray 是有序的,NSDictionary 和 NSSet 是无序的.
2. NSArray 是通过下标来访问的,NSDictionary 通过 key 值来访问的, NSSet 是随机的访问.
3. NSArray 数组中的元素可以相同,NSDictionary的 key 值必须是唯一的, NSSet 的元素是唯一的.
4. 显示格式
1⃣ NSArray(元素1,元素2……)
2⃣ NSDictionary{key1 =value1,key1 =value2…}
3⃣ NSSet{(元素1,元素2…..)}
5. 集合的创建和操作是 iOS 开发中比较重要的部分,在项目中经常会用数组和字典来存储数据.