NSSet使用小结
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil]; NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", nil]; NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; NSSet *set3 = [NSSet setWithArray:array]; NSLog(@"set1 :%@", set1); NSLog(@"set2 :%@", set2); NSLog(@"set3 :%@", set3); //获取集合个数 NSLog(@"set1 count :%d", set1.count); //以数组的形式获取集合中的所有对象 NSArray *allObj = [set2 allObjects]; NSLog(@"allObj :%@", allObj); //获取任意一对象 NSLog(@"anyObj :%@", [set3 anyObject]); //是否包含某个对象 NSLog(@"contains :%d", [set3 containsObject:@"obj2"]); //是否包含指定set中的对象 NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]); //是否完全匹配 NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]); //是否是子集合 NSLog(@"isSubSet :%d", [set3 isSubsetOfSet:set1]); NSSet *set4 = [NSSet setWithObjects:@"a", @"b", nil]; NSArray *ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil]; NSSet *set5 = [set4 setByAddingObjectsFromArray:ary]; NSLog(@"addFromArray :%@", set5); NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@"1", @"2", @"3", nil]; NSMutableSet *mutableSet2 = [NSMutableSet setWithObjects:@"a", @"2", @"b", nil]; NSMutableSet *mutableSet3 = [NSMutableSet setWithObjects:@"1", @"c", @"b", nil]; //集合元素相减 [mutableSet1 minusSet:mutableSet2]; NSLog(@"minus :%@", mutableSet1); //只留下相等元素 [mutableSet1 intersectSet:mutableSet3]; NSLog(@"intersect :%@", mutableSet1); //合并集合 [mutableSet2 unionSet:mutableSet3]; NSLog(@"union :%@", mutableSet2); //删除指定元素 [mutableSet2 removeObject:@"a"]; NSLog(@"removeObj :%@", mutableSet2); //删除所有数据 [mutableSet2 removeAllObjects]; NSLog(@"removeAll :%@", mutableSet2); } return 0; }
日志:
set1 :{( d, b, c, a )} set2 :{( 1, 2, 3 )} set3 :{( a, b, c )} set1 count :4 allObj :( 1, 2, 3 ) anyObj :a contains :0 intersect obj :1 isEqual :0 isSubSet :1 addFromArray :{( 3, b, 1, 4, 2, a )} minus :{( 1, 3 )} intersect :{( 1 )} union :{( b, 1, 2, a, c )} removeObj :{( b, 1, 2, c )} removeAll :{( )}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。