[Object C]_[初级]_[两个数组共有元素的提取,删除,数组的合并]
来源:互联网 发布:布尔型数据 编辑:程序博客网 时间:2024/04/29 08:09
场景:应用于数据的合并,具体例子如联系人的分组,在设置多个分组的时候存在新建和删除部分分组,我们就要把新建的部分分组和删除的部分分组找出来。
具体例子如下:
-(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
- [Object C]_[初级]_[两个数组共有元素的提取,删除,数组的合并]
- [Object-c]_[初级]_[数组NSArray过滤NSPredicate的简单介绍]
- 找出不是两个数组共有的元素
- 求两个有序数组的共有元素
- 找出不是两个数组共有的元素
- 找出不是两个数组共有的元素
- 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 合并两个数组并删除重复的元素
- [C/C++标准库]_[初级]_[std::vector的删除元素]
- [Object c]_[初级]_[NSString常用方法的总结]
- _.remove删除数组元素
- 学习 C++类的多态
- C#中泛型List排序方法 实现.
- jquerymobile 起航
- 用栈实现括号匹配
- Altium designer的简单学习
- [Object C]_[初级]_[两个数组共有元素的提取,删除,数组的合并]
- java 装饰者模式 详解
- jsonp详解
- java继承中的 equals + hashCode+toString
- POJ 2774 Long Long Message (后缀数组)
- 【android】音乐播放器之service服务设计
- 数据摘要算法的测试效率(SHA、MD5和CRC32)
- Maven的学习(一)搭建maven环境
- android删除文件夹以及文件夹中的文件的方法(清晰易懂)