美文网首页
数组去重

数组去重

作者: 竹屋听雨 | 来源:发表于2020-01-03 15:12 被阅读0次

    1:利用NSDictionary的AllKeys

    可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所有键或值,这些键或值都是去重的。
    示例代码:

    NSArray *arr = @[@"aaa",@"aaa",@"bbb"];
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    for (NSNumber *number in arr) {  
          [dict setObject:number forKey:number];
     }
     NSLog(@"%@",[dict allValues]);
    
    

    2: 利用NSSet的AllObjects方法

    这种方法更快,利用NSSet不会添加重复元素的特性。不过去重的数组没有进行排序,如果需要排序,可以使用NSSortDescriptor类。

    NSArray *arr = @[@abc,@abc,@111];
    NSSet *set = [NSSet setWithArray:arr];
    NSLog(@"%@",[set allObjects]);
    

    3: 顺序的数组

    NSMutableArray *categoryArray = [[NSMutableArray alloc] init];
        for (unsigned i = 0; i < [nameArray count]; i++){
            if ([categoryArray containsObject:[nameArray objectAtIndex:i]] == NO){
                [categoryArray addObject:[nameArray objectAtIndex:i]];
            }
        }
    

    相关文章

      网友评论

          本文标题:数组去重

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