程序员人生 网站导航

ios笔记-NSSet

栏目:综合技术时间:2015-06-05 09:14:44
// //  main.m //  NSSet // //  Created by Passer-by on 15⑶⑵3. //  Copyright (c) 2015年 MAC. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {     @autoreleasepool     {         /*          NSSet和NSArray的对照          1> 共同点          * 都是集合,都能寄存多个OC对象          * 只能寄存OC对象,不能寄存非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)          * 本身都不可变,都有1个可变的子类                    2> 不同点          * NSArray有顺序,NSSet没有顺序          */                  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);                  //获得任意1对象         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; }

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐