9.30 NSSet 集合 (去重,排序)

NSSet 集合

最有用的功能:去重,排序

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];
   
//    利用set不会重复添加元素的特性去重

    NSArray *array = @[@22,@44,@123,@33,@33,@22,@44];

    NSSet *set = [NSSet setWithArray: array];

    NSLog(@"%@",[set allObjects]);
    
    NSArray *array1 = @[@22,@44,@123,@33,@33,@22,@44];

//去重,利用字典Dictionary本身不能有key,value重复的特性去重。

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

   [array enumerateObjectsUsingBlock:^(id  _Nonnull key, NSUInteger idx, BOOL *_Nonnull stop) {
        dict[key] =@1;
    }];

    array1 = [dict allKeys];
    NSLog(@"%@", array1);
    
    //可以用index 索引
    NSOrderedSet *orderSet = [NSOrderedSet orderedSet];
    
}

@end
冒泡排序
    NSMutableArray *array3 = @[@22,@44,@123,@33,@33,@22,@44];
    
    for (int i = 0; i < array3.count; i++) {
        for (int j = 0; j < array3.count - 1 - i; j++) {
            if (array3[j] > array3[j + 1]) {
                [array3 exchangeObjectAtIndex:j withObjectAtIndex:j + 1];
            }
        }
    }
    
  [array3 sortUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnullobj2) {
        if (obj1 > obj2) {
            //降序
            return NSOrderedDescending;
        }else if(obj1 < obj2){
            //升序
            return NSOrderedAscending;
        }
        else {
            return NSOrderedSame;
        }
    }];

    NSLog(@"--->%@", array3);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,264评论 25 708
  • 一. 写在前面 要学习算法,“排序”是一个回避不了的重要话题,在分析完并查集算法和常用数据结构之后,今天我们终于可...
    Leesper阅读 2,553评论 0 40
  • 天地清明冬至,登山寻枫画卷 夕阳云中藏破,木澜丝流蚕卧。 寒风枝草尝瘦,聆听三宝禅渡。 放下浮尘缠务,快马神洲畅游
    燃烧吧情怀阅读 282评论 3 9
  • 废物测试是女人在和你的互动中为了判断你的一致性,无意间会给你一些令你产生尴尬的问题,如果回答不好就会“GAME O...
    luke卢克阅读 300评论 0 0
  • 亲爱的朋友们大家好!我是网络骄阳,今天是感恩节,我们可以在今天发自内心的感恩我们生命中遇到的每一个人。 每年11月...
    feaf5a1303da阅读 1,527评论 2 16