zoukankan      html  css  js  c++  java
  • 排序

    排序简用

      NSMutableArray *mutarr = [[NSMutableArray alloc]init];
        NSArray *letters = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
            //create DATE
        for (int i = 0; i<10; i++) {
            NSString * name = [NSString stringWithFormat:@"%@%@%@",[letters objectAtIndex:arc4random()%25] ,[letters objectAtIndex:arc4random()%25],[letters objectAtIndex:arc4random()%25]];
            NSString *age = [NSString stringWithFormat:@"%u",arc4random()%80];
            
            NSMutableDictionary *person = [[NSMutableDictionary alloc]init];
            [person setValue:name forKey:@"name"];
            [person setValue:age forKey:@"age"];
            
            [mutarr   addObject:person];
        }
        NSLog(@"源数据 == %@",mutarr);
    
        //第一种
        NSSortDescriptor *descriptor = [[NSSortDescriptor alloc]initWithKey:@"name" ascending:NO];
        NSMutableArray *sortarr = [[NSMutableArray alloc]initWithObjects:&descriptor count:1];
        NSArray *sortedarr = [mutarr sortedArrayUsingDescriptors:sortarr];
        NSLog(@"sortedarr  %@",sortedarr);
    
        //第二种
        NSArray *sortedcomparr = [mutarr sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            //字符串类
            return [obj1[@"name"] compare:obj2[@"name"]];
        }];
        NSLog(@"sortedcomparr    ===  %@",sortedcomparr);
        
        //第二种特例
        NSArray *sortedspecial = [mutarr sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            //数值比大小,使用上一种,7比17大
            if ([obj1[@"age"] integerValue] > [obj2[@"age"] integerValue]) {
                return NSOrderedAscending;
            }else{
                return NSOrderedDescending;
            }
        }];
        NSLog(@"sortedspecial    ===  %@",sortedspecial);
  • 相关阅读:
    从运维角度浅谈 MySQL 数据库优化
    好的架构不是设计出来的,而是演进出来的
    京东咚咚架构演进
    大型网站的架构
    MySQL开发规范
    MySQL 5.6的72个新特性(译)
    MySQL数据库运维的五大指标
    MySQL5.0、5.1、5.5、5.6功能进化
    MySQL各版本的区别
    ajax该什么时候用
  • 原文地址:https://www.cnblogs.com/OIMM/p/9522110.html
Copyright © 2011-2022 走看看