[Object C]_[初级]_[两个数组共有元素的提取,删除,数组的合并]

场景:应用于数据的合并,具体例子如联系人的分组,在设置多个分组的时候存在新建和删除部分分组,我们就要把新建的部分分组和删除的部分分组找出来。

具体例子如下:

-(void) doFindSameObjectFromArrays
{
    NSMutableArray *array1 =[NSMutableArray new];//假设array1为一个联系人的分组groupIds
    NSMutableArray *array2 =[NSMutableArray new];//假设array1为一个联系人修改后的分组groupIds
    
    for (int i =1; i<6; i++)
    {
        if (i%3==0)
        {
            [array1 addObject:[NSString stringWithFormat:@"%d",i]];
            
        }
        if (i%2==0)
        {
             [array1 addObject:[NSString stringWithFormat:@"%d",i]];
        }
        else
        {
             [array2 addObject:[NSString stringWithFormat:@"%d",i]];
        }
    }
    NSLog(@"联系人的分组:%@",array1);
    NSLog(@"联系人修改后的分组:%@",array2);
    
    //使用集合把相同的元素找出来
    NSMutableSet *set1=[NSMutableSet setWithArray:array1];
    NSMutableSet *set2 =[NSMutableSet setWithArray:array2];
     //提取数组共同的元素
    [set1 intersectSet:set2] ;//交集
   
     NSLog(@"set1:%@",[set1 allObjects]);
    //提取数组除共有元素以外的元素
    [array1 removeObjectsInArray:[set1 allObjects]]; //找出被删除的分组id
    [array2 removeObjectsInArray:[set1 allObjects]]; //找出新建的分组id
    NSLog(@"删除的分组:%@",array1);
    NSLog(@"新建的分组:%@",array2);
    
    //合并两个数组,过滤掉相同的元素。
    [set1 addObject:@"7"];//set1在上面被重新赋值了,所以添加一个元素以便于区分
    [set1 unionSet:set2];//合并
    NSLog(@"合并数据:%@",[set1 allObjects]);
     
}

运行结果:


未完待续

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值