美文网首页
iOS统计数组相同元素的个数(使用数组筛选计算)

iOS统计数组相同元素的个数(使用数组筛选计算)

作者: 白色天空729 | 来源:发表于2019-08-22 19:05 被阅读0次
- (void)viewDidLoad {
    [super viewDidLoad];

    //统计数组相同元素的个数

    NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
    //需要统计的数组
    NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"2",@"3",@"3",@"3", nil];

    NSSet *set = [NSSet setWithArray:array];
    for (NSString *setstring in set) {
        //需要去掉的元素数组
        NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:setstring, nil];
        NSMutableArray *dataArray = array;
        NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"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);
        [dic setObject:[NSString stringWithFormat:@"%d",number] forKey:setstring];
    }
    NSLog(@"dic :%@",dic);
    //---------------------------------------------------------------------------------------

//参考数组筛选:

    //需要去掉的元素数组
    NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"4", nil];
    //需要被筛选的数组
    NSMutableArray *dataArray = [[NSMutableArray alloc]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 = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",filteredArray];

    //过滤数组
    NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate];
    NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray);
    /*
     结果:
     Reslut Filtered Array = (
     2,
     6,
     6
     )
     */

转载: https://blog.csdn.net/sevenquan/article/details/50593295

相关文章

  • iOS统计数组相同元素的个数(使用数组筛选计算)

    转载: https://blog.csdn.net/sevenquan/article/details/50593295

  • 数组相同元素个数统计

    数组中重复的ID统计出总数 现在有一组字符串 '10,12,14,16,10,1,5,16'; 想统计字符串中相同...

  • JS返回两个数组中的不同元素或相同元素

    一、返回两个数组中的不同元素 使用forEach 使用filter 二、返回两个数组中的相同元素

  • 常用js功能封装

    计算相同数组个数 多维数组根据对象进行排序

  • shell数组

    数组创建方法 输出整个数组 获取数组元素个数,方法与获取字符串长度的方法相同 获取数组单个元素的长度

  • JS-数组

    数组 检测是否为数组的方法 添加删除数组元素方法 筛选数组 //一个数组[1300,2400,2500,1100,...

  • Go语言数组、切片、映射

    数组 声明和初始化 访问指针数组的元素 相同类型(数组长度和每个数组元素类型相同)的数组变量可以互相赋值。 二维数...

  • Swift学习笔记-数组

    创建数组 访问和修改数组元素 获取数组元素数量 添加和删除数组元素 遍历数组 使用加法添加一个数组到另外一个数组 ...

  • C# 数组

    概述 多维数组每个维度的元素个数是相同的;交错数组是数组中的数组。 数值类型数组元素默认值为0,引用类型元素默认值...

  • 数组

    数组 由一组相同数据类型变量组成的有序集合,数组中的变量称为数组元素,元素在数组中位置称为下标,数组中元素个数称为...

网友评论

      本文标题:iOS统计数组相同元素的个数(使用数组筛选计算)

      本文链接:https://www.haomeiwen.com/subject/kvuosctx.html