iOS统计数组相同元素的个数(使用数组筛选计算)
来源:互联网 发布:为何小米4用的是3g网络 编辑:程序博客网 时间:2024/05/04 06:11
- (void)viewDidLoad {
[superviewDidLoad];
//统计数组相同元素的个数
NSMutableDictionary *dic = [[NSMutableDictionaryalloc] init];
//需要统计的数组
NSMutableArray *array = [[NSMutableArrayalloc]initWithObjects:@"1",@"2",@"2",@"3",@"3",@"3",nil];
NSSet *set = [NSSetsetWithArray:array];
for (NSString *setstringin set) {
//需要去掉的元素数组
NSMutableArray *filteredArray = [[NSMutableArrayalloc]initWithObjects:setstring,nil];
NSMutableArray *dataArray = array;
NSPredicate * filterPredicate = [NSPredicatepredicateWithFormat:@"NOT (SELF IN %@)",filteredArray];
//过滤数组
NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate];
NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray);
int number = (int)(dataArray.count-reslutFilteredArray.count);
NSLog(@"number :%d",number);
[dicsetObject:[NSStringstringWithFormat:@"%d",number]forKey:setstring];
}
NSLog(@"dic :%@",dic);
//---------------------------------------------------------------------------------------
//参考数组筛选:
//需要去掉的元素数组
NSMutableArray *filteredArray = [[NSMutableArrayalloc]initWithObjects:@"1",@"4",nil];
//需要被筛选的数组
NSMutableArray *dataArray = [[NSMutableArrayalloc]initWithObjects:@"1",@"2",@"1",@"4",@"6",@"1",@"1",@"4",@"1",@"6",@"4",nil];
/*
方法一:利用NSPredicate
注:NSPredicate所属Cocoa框架,在密码、用户名等正则判断中经常用到。
类似于SQL语句
NOT 不是
SELF 代表字符串本身
IN 范围运算符
那么NOT (SELF IN %@) 意思就是:不是这里所指定的字符串的值
*/
NSPredicate * filterPredicate = [NSPredicatepredicateWithFormat:@"NOT (SELF IN %@)",filteredArray];
//过滤数组
NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate];
NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray);
/*
结果:
Reslut Filtered Array = (
2,
6,
6
)
*/
/*
方法二:从后往前遍历数组,然后匹配删除
*/
int i = (int)[dataArraycount]-1;
for(;i >= 0;i --){
//containsObject 判断元素是否存在于数组中(根据两者的内存地址判断,相同:YES 不同:NO)
if([filteredArray containsObject:[dataArray objectAtIndex:i]]) {
[dataArrayremoveObjectAtIndex:i];
}
}
NSLog(@"Data Array = %@",dataArray);
/*
结果:
Data Array = (
2,
6,
6
)
*/
}
- iOS统计数组相同元素的个数(使用数组筛选计算)
- iOS统计数组相同元素的个数
- oc统计数组相同元素的个数,以及数组排序
- 统计一个数组中相同元素个数
- 统计PHP数组中相同元素的个数
- Matlab统计数组中相同元素的个数
- 计算数组中相同元素的个数,以及数组总的元素数(重复元素算一个)
- 统计数组中相同数据的个数
- 查询数组中相同元素的个数
- 实现统计数组中相同元素个数并输出
- IOS-筛选数组内的元素
- IOS-筛选判定数组内的元素
- 数组中有效元素个数的统计
- iOS去除数组的相同元素
- php统计数组元素个数
- iOS小问题--使用NSPredicate比较两个数组中相同(不同)的元素
- 求两个有序数组相同元素的个数-JAVA
- 输出数组中相同的元素以及个数
- 对Map进行排序
- Web安全学习系列(2)
- mybatis有符合条件的结果但是查询不出
- 三大运营商ocf电子书解决方案
- 【.Net码农】C# List<string>与String字符串相互转换
- iOS统计数组相同元素的个数(使用数组筛选计算)
- 8.XSD 复合元素
- git 生成SSH KEY
- 国外支付(Paypal,Cybersource)
- 多种键盘输入2
- Android签名机制之---签名过程详解
- FEC CProfile 使用
- Android Design Support Library介绍之:环境搭建
- 接口文档示例