NSSet 、 NSMutableSet 、 NSCountedSet

直接上代码:/** NSSet 不可变 集合**/// 两种初始化方式NSSet *set1 = [[NSSet alloc] initWithObjects:@”1″, @”2″, @”3″, nil] ;NSLog( @”%@”, set1 ) ;NSSet *set2 = [NSSet setWithObjects:@”12″, @”23″, @”34″, nil] ;NSLog( @”%@”, set2 ) ;//用数组对象来创建集合对象NSArray *array = @[@1, @2, @2] ;//initWithArray 和 setWithArray 将数组对象转换成集合对象,这样能将数组中重复的对象过滤掉NSSet *set3 = [[NSSet alloc] initWithArray:array] ;NSLog( @”%@”, set3 ) ;NSSet *set4 = [NSSet setWithArray:array] ;NSLog( @”%@”, set4 ) ;//获取集合中对象的个数NSLog( @”%ld”, [set4 count] ) ;//获取集合中的对象(返回的是任意一个对象,如果集合中没有对象,则返回nil)id object1 = [set4 anyObject] ;NSLog( @”%@”, object1 ) ;//判断一个给定的对象是否包含在指定的集合中NSString *result1 = [set4 containsObject:@2] ? @”YES” : @”NO” ;NSLog( @”%@ is contained int set %@”, @2, result1 ) ;/** NSMutableSet 可变 集合**///初始化NSMutableSet *mutableSet1 = [[NSMutableSet alloc] init] ;NSLog( @”%@”, mutableSet1 ) ;NSMutableSet *mutableSet2 = [NSMutableSet set] ;NSLog( @”%@”, mutableSet2 ) ;//通过不可变对象创建NSMutableSet *mutableSet3 = [[NSMutableSet alloc] initWithSet:set1] ;NSLog( @”%@”, mutableSet3 ) ;NSMutableSet *mutableSet4 = [NSMutableSet setWithSet: set1] ;NSLog( @”%@”, mutableSet4 ) ;//添加集合元素(注意:@4 和 @”4″不一样)[mutableSet4 addObject:@4] ;NSLog( @”%@”, mutableSet4 ) ;//删除单个集合元素[mutableSet4 removeObject:@4] ;NSLog( @”%@”, mutableSet4 ) ;//删除所有集合元素[mutableSet4 removeAllObjects] ;NSLog( @”%@”, mutableSet4 ) ;/** NSCountedSet** 是 NSSet的子类,,能记录集合中的元素的重复次数*///NSCountedSet *countSet1 = [NSCountedSet set] ;[countSet1 addObject:@1] ;[countSet1 addObject:@2] ;[countSet1 addObject:@3] ;[countSet1 addObject:@2] ;NSLog( @”%@”, countSet1 ) ;( @”%ld”, [countSet1 countForObject:@5] ) ;

你不勇敢,没人替你坚强。

NSSet 、 NSMutableSet 、 NSCountedSet

相关文章:

你感兴趣的文章:

标签云: