美文网首页
9.30 NSSet 集合 (去重,排序)

9.30 NSSet 集合 (去重,排序)

作者: jayck | 来源:发表于2016-10-04 19:45 被阅读104次

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);

相关文章

  • 9.30 NSSet 集合 (去重,排序)

    NSSet 集合 最有用的功能:去重,排序 冒泡排序

  • 关于数组内数据排序的方法推荐

    之前说到关于数组去除重复的数据的方法推荐,用NSSet可以高效的去重,但是毕竟NSSet是集合,去重后的数据往往是...

  • iOS 奇技淫巧总结

    数组去重 利用 NSSet 的特性,NSSet 是无序、没有重复元素的数组,如果需要排序,可以考虑用 NSSort...

  • NSSet和NSArray 去重 排序

    数组去重简单方法用NSSet来搞定 打印出来的结果 这样打印的结果是无序的,用户要看有序的结果。 查了一下NSSe...

  • NSSet和排序方法、数组去重

    NSSet 去掉数组中重复的数NSSet方法 NSDictionary方法 数组排序 冒泡排序 sort方法排序(快排)

  • NSSet 用法详解

    iOS 集合NSSet 用法详解 - CSDN博客 1、集合:集合(NSSet)和数组(NSArray)有相似之处...

  • iOS NSSet、NSMutableSet、NSIndexSe

    一、集合(NSSet)和数组(NSArray)区别 1、集合:集合(NSSet)和数组(NSArray)有相似之处...

  • Stream + Lambda 表达式

    去重 两个list对象根据条件去重 去重 简单List集合求交、去重、差集 排序 过滤 筛选、转换 统计 分组 遍历

  • leetcode 349 两个数组的交集

    去重,排序,然后开双指针去二分。用 hashMap 集合 set 缓存也可以。

  • 笔试题分析(一)

    1、合并两个列表并加以排序和去重 思路:去重可借助集合或循环实现,排序利用list.sort实现 2、n的阶层实现...

网友评论

      本文标题:9.30 NSSet 集合 (去重,排序)

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