数组、字典、set集合介绍

    //字典的遍历

    NSDictionary* dict=[NSDictionary dictionaryWithObjectsAndKeys:@"第一个学生",@"first",@"第二个学生",@"second", nil];

    NSArray* keys=[dict allKeys];

    id key,value;

    for (int i=0; i<[keys count]; i++) {

        key=[keys objectAtIndex:i];

        value=[dict objectForKey:key];

        NSLog(@"key:%@ \n value:%@",key,value);

    }

    //Set集合(NSSet,不可变)NSSet 和 NSMutableSet 是保存无序对象的集合类; NSSet集合跟数组差不多,但Set集合不能存放相同的对象,它是一组单值对象的集合,被存放对进集合中得数据的无序的。

    /***********基本用法*************/
    NSSet *set1 = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four",@"five",@"six", nil];//第一种构建方式

    NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"one", nil];
    NSSet *set2 = [[NSSet alloc] initWithArray:array]; //第二种构建方式:通过数组构建集合

    NSSet *set3 = [[NSSet alloc] initWithSet:set2];//通过已有集合构建集合

    //1.集合中对象的个数
    NSInteger count = [set3 count];

    //2.以数组的形式返回集合中所有的对象
    NSArray *allObjects = [set3 allObjects];

    //3.返回集合中的任意一个对象
    id object = [set3 anyObject];

    //4.判断两个集合的元素中有包含的对象,包含返回YES,否则为NO
    BOOL isContain = [set2 containsObject:@"2"];

    //5.判断两个集合的元素是否 有相等的对象,存在返回YES,否则为NO
    BOOL isIntersect = [set2 intersectsSet:set1];

    //6.判断两个集合的元素是否完全匹配,匹配返回YES,否则为NO
    BOOL isEqual = [set1 isEqualToSet:set2];

    //7.集合4是否是集合5的子集合,如果是返回YES,否则为NO
    BOOL isSubset = [set2 isSubsetOfSet:set1];

    NSLog(@"1=%ld、2=%@、3=%@、4=%d、5=%d、6=%d、7=%d",count,allObjects,object,isContain,isIntersect,isEqual,isSubset);



    //可变集合NSMutableSet

    NSMutableSet *set11 = [NSMutableSet set];

    NSMutableSet *set12 = [NSMutableSet setWithObjects:@"1",@"2",nil];

    NSMutableSet *set13 = [NSMutableSet setWithObjects:@"a",@"2",nil];

    //8.集合12减去集合13中的元素,集合2最后元素只有1个
    [set12 minusSet:set13];

    //9.集合2与集合3中元素的交集,集合2最后元素只有1个
    [set12 intersectSet:set13];

    //10.集合2与集合3中的元素的并集,集合2最后元素只有3个
    [set12 unionSet:set13];

    //11.将空集合1设置为集合3中的内容
    [set11 setSet:set13];

    //12.根据数组的内容删除集合中的对象
    [set12 addObjectsFromArray:array];

    [set12 removeObject:@"1"];

    NSLog(@"%@",set12);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值